zoukankan      html  css  js  c++  java
  • OpenJudge 2973(skew)

    时间限制:
    1000ms
    内存限制:
    65536kB
    描述
    在 skew binary表示中, 第 k 位的值xk表示xk*(2k+1-1)。 每个位上的可能数字是0 或 1,最后面一个非零位可以是2, 例如, 10120(skew) = 1*(25-1) + 0*(24-1) + 1*(23-1) + 2*(22-1) + 0*(21-1) = 31 + 0 + 7 + 6 + 0 = 44. 前十个skew数是 0、1、2、10、11、12、20、100、101、以及102。
    输入
    输入包含一行或多行,每行包含一个整数n。 如果 n = 0 表示输入结束,否则n是一个skew 数
    输出
    对于每一个输入,输出它的十进制表示。转换成十进制后, n 不超过 231-1 = 2147483647
    样例输入
    10120
    200000000000000000000000000000
    10
    1000000000000000000000000000000
    11
    100
    11111000001110000101101102000
    0
    
    样例输出
    44
    2147483646
    3
    2147483647
    4
    7
    1041110737
    #include<stdio.h>
    #include<string.h>
    char str[35];
    int My_Pow(int m,int n)
    {
        int i;
        int ans=1;
        for(i=1;i<=n;i++)
            ans*=m;
        return ans;
    }
    int main()
    {
        int i,j;
        int len,sum;
        while(1)
        {
            sum=0;
            memset(str,0,sizeof(str));
            gets(str);
            len=strlen(str);
            if(strcmp(str,"0")==0)
                break;
            for(i=len;i>=1;i--)
                sum+=(My_Pow(2,i)-1)*(str[len-i]-'0');
            printf("%d\n",sum);
        }
        return 0;
    }
    
  • 相关阅读:
    RDLC报表开发技巧备忘
    C#3.0"扩展方法"简记
    将activity转化成view
    取消logcat输出
    低栏的项目切换
    android edittext 限制文本框输入的长度和提示信息
    android如何调用dotnet编写的webservice
    iphone 式退出
    几种tabhost的总结(1)
    切换浏览示意图
  • 原文地址:https://www.cnblogs.com/hxsyl/p/2615768.html
Copyright © 2011-2022 走看看