skew数——数学递推

https://www.nowcoder.com/pat/2/problem/266
吐槽:找到权值公式x[k] = 2*x[k-1] +1,然后先算出来。

#include<cstdio>
#include<cstring>
int x[50];

int main(){
    x[0]=1;
    x[1]=3;
    for(int i=2;i<32;i++){
        x[i] = 2*x[i-1] + 1;
    }
    char str[100];
    while(scanf("%s",str) != EOF){
        int len = strlen(str);
        int sum = 0;
        for(int i = 0; i < len; i++){
            sum += (str[i] - '0')*x[len - 1 - i];
        }
        printf("%d\n",sum);
    }

} 
全部评论

相关推荐

02-28 13:25
已编辑
门头沟学院 Java
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务