一个特大数运算的程序:1+2+4+8+……+2^100=?

来源:互联网 发布:膛线管5.5淘宝400元 编辑:程序博客网 时间:2024/04/29 23:31

#include <stdio.h>

int per[500];
int total;

void n_num(int number)
{
   
int i,j,temp,flag;
    per[
0] = 1;
    total
= 1;
   
for (i=1,flag=0;i<=number;i++)
    {
       
for (j=0,temp=0;j<total;j++)
        {
            temp
= per[j]*2+flag;
            per[j]
= temp%10;
            flag
= temp/10;
        }
       
while (flag)
        {
            per[total
++] = flag%10;
            flag
/= 10;
        }
    }   
}

void main()
{
   
int i,number;
    printf(
"Input number:");
    scanf(
"%d",&number);
    n_num(number);
    printf(
"2^%d-1=",number);
   
for (i=total-1;i>=0;i--)
    {
       
if(i == 0)
            printf(
"%d",per[0]-1);
       
else
            printf(
"%d",per[i]);
    }
    printf(
"/n共有%d位!/n",total);
}
////////////////////
2^101-1 = 2535301200456458802993406410751
共有31位!

原创粉丝点击