POJ 1565 Skew Binary(简单的问题)

【简要题意】:第二个是数字系统的代表性的定义。而给了你这个号码系统提示的形式和十进制转换之间的关系。现在给你一些这样的系统。让你把它变成2二进制输出。

【分析】:当中 base[k]  =  2^(k+1)-1  =  2(2^k-1)+1  =  2base[k-1]+1

// 200K 0Ms
#include<iostream>
#include<cstring>
using namespace std;

int main()
{
	int i,k,base[31],sum;
	char skew[32];
	base[0] = 1;
	for(i = 1;i<31;i++) base[i] = 2*base[i-1] + 1;
	while(1)
	{
		cin>>skew;
		if(strcmp(skew,"0") == 0)
			break;
		sum = 0;
		k = strlen(skew);
		for(i = 0 ;i<strlen(skew);i++)
		{
			k--;
			sum+=(skew[i] - '0')*base[k];
		}
		cout<<sum<<endl;
	}
	return 0;
}

版权声明:本文博主原创文章,博客,未经同意不得转载。

时间: 2024-10-11 09:57:32

POJ 1565 Skew Binary(简单的问题)的相关文章

POJ 1565 Skew Binary(简单题)

[题意简述]:就是定义了另外一种数制的表示形式,并给了你这种数制表示形式与十进制的转换关系,现在给你一个这样的数制,让你把它换成2进制输出. [分析]:其中 base[k]  =  2^(k+1)-1  =  2(2^k-1)+1  =  2base[k-1]+1 // 200K 0Ms #include<iostream> #include<cstring> using namespace std; int main() { int i,k,base[31],sum; char

寒假集训.Skew Binary

Skew Binary Time Limit:3000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submit Status Practice UVA 575 Description When a number is expressed in decimal, the k-th digit represents a multiple of 10k. (Digits are numbered from right to left,

uva 575 Skew Binary(数论)

uva 575 Skew Binary When a number is expressed in decimal, the k-th digit represents a multiple of 10k. (Digits are numbered from right to left, where the least significant digit is number 0.) For example, When a number is expressed in binary, the k-

POJ 3071 Football(简单 概率DP)

Football 原文链接:http://blog.csdn.net/xuechelingxiao/article/details/38520105 大意:2^n 个球队进行单场淘汰赛,每两只球队之间比赛会有胜负的概率,问最后谁夺冠的概率最大. 思路:简单的概率DP问题,主要是怎么处理哪两个球队比赛的问题. DP方程为 dp[i][j] = ∑(dp[i-1][j]*dp[i-1][k]*p[j][k]); //dp[i][j]表示第 i 轮的时候,第 j 支队伍赢的概率.. 对于其中位运算,可

poj 3077 Rounders 【简单字符串处理】

题意:就是4舍5入到最近的数. 题意有些难理解... 代码: #include <stdio.h> #include <string.h> char s[10]; int main() { int t, n; scanf("%d", &t); while(t --){ memset(s, 0, sizeof(s)); scanf("%s", s); int len = strlen(s); if(len == 1){ printf(&

POJ 3982 序列(JAVA,简单,大数)

题目 //在主类中 main 方法必须是 public static void 的,在 main 中调用非static类时会有警告信息, //可以先建立对象,然后通过对象调用方法: import java.io.*; import java.util.*; import java.math.*; public class Main { /** * @xqq */ public BigInteger a99(BigInteger a, BigInteger b, BigInteger c) { f

UVa 575 Skew Binary 歪斜二进制

呵呵,这个翻译还是很直白的嘛,大家意会就好. 第一次看到这个高大上题目还是有点小害怕的,还好题没有做过深的文章. 只要按照规则转化成十进制就好了,而且题目本身也说了最大不超过一个int的范围(2^31-1 == 2147483647). 直接位运算就好了.   Skew Binary  When a number is expressed in decimal, the k-th digit represents a multiple of 10k. (Digits are numbered f

poj 3273 Monthly Expence 简单二分

1 /** 2 大意: 有连续的n天,每一天有一定的花费,将其分成m份,每一份占一天或者连续的几天,求这m份中的最大值 3 思路: 二分其最大上限,看在此最大上线,能分成多少份,若大于m份,说明上限过小,需要扩大上限 4 若小于m份,则说明,下限过大,需要缩小上限. 5 **/ 6 #include <iostream> 7 8 using namespace std; 9 int c[100010]; // 记录,每天的花费 10 int main() 11 { 12 int n,m; 13

poj 3368(RMQ简单应用)

Frequent values Time Limit: 2000MS   Memory Limit: 65536K Total Submissions: 13317   Accepted: 4894 Description You are given a sequence of n integers a1 , a2 , ... , an in non-decreasing order. In addition to that, you are given several queries cons