美文网首页
Problem 16

Problem 16

作者: guanjianhe | 来源:发表于2018-08-06 12:00 被阅读0次
    2^15 = 32768 and the sum of its digits is 3 + 2 + 7 + 6 + 8 = 26.
    
    What is the sum of the digits of the number 2^1000?
    
    #include <stdio.h>
    int main()
    {
        char st[500] = {0};
        int sum = 0;
        int i,j,k;
        st[0]=2;
        j = 0;
        for(i=1;i<1000;i++)
        {
            for(k=0;k<j+1;k++)
            {
                st[k]<<=1;  //每一位 x 2
            }
            for(k=0;k<j+1;k++)  //进位
            {
                st[k+1]+=st[k]/10;
                st[k] = st[k]%10;
            }
            if(st[j+1]) j++;  //有进位,再加一位
        }
        for(j;j>=0;j--)
        {
            sum+=st[j];
        }
        printf("%d",sum);
        return 0;
    }
            
    

    相关文章

      网友评论

          本文标题:Problem 16

          本文链接:https://www.haomeiwen.com/subject/tybwvftx.html