首页 > 其他 > 详细

百练 2973 Skew数 解题报告

时间:2014-03-17 06:04:43      阅读:407      评论:0      收藏:0      [点我收藏+]

思路:

  计算出每一个skew数的不同位数表示的权值,然后用该位与权值相乘。用int数组来装权值,用char数组来装skew数。

代码:

#include<stdio.h>
#include<string.h>
int main()
{
    int i, k, sum;
    int base[32];
    char skew[32];

    base[0] = 1;
    for(i = 1; i < 32; i++)
        base[i] = 2*base[i-1]+1;//计算每一位的基值
    while(1)
    {
        scanf("%s", 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];
        }
        printf("%d\n", sum);
    }
    return 0;
}

百练 2973 Skew数 解题报告,布布扣,bubuko.com

百练 2973 Skew数 解题报告

原文:http://www.cnblogs.com/la0bei/p/3603289.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!