falogin cn-cfree

大数运算
2023年4月5日发(作者:lsasecretsview软件)

C语⾔⼤数运算:利⽤数组进⾏数字多次⽅的运算

代码⽤途:

对较⼤范围内的数据进⾏多次⽅运算

如:13的100次⽅;2的1000次⽅等。

输⼊样例:

210

OnePossibleAnswer:

#include

intmain(void)

{

inta[1000]={0};

inti,k,j,len=1,n,t;

scanf_s("%d%d",&t,&n);

a[0]=1;

for(i=0;i

{

for(j=len-1;j>=0;j--)

{

a[j]*=t;

}

for(k=0;k<=len;k++)

{

if(a[k]>=10)

{

a[k+1]=a[k+1]+a[k]/10;

a[k]=a[k]%10;

if(k+1==len)len++;

}

}

}

for(i=len-1;i>=0;i--)

{

printf("%d",a[i]);

}

return0;

}

AnotherPossibleAnswer:

#include

#defineN1000

intcal(intv[],intx,intn)

{

inti,j,k,c,s;

v[N-1]=1;

s=N-2;

for(i=1;i

c=0;

for(j=N-1;j>s;--j){

k=v[j]*x+c;

c=k/10;

v[j]=k%10;

}

while(c){

v[s--]=c%10;

c/=10;

}

}

returns;

}

intmain(void)

{

intx,n,v[N],s,cnt;

printf("请输⼊底数和指数:");

scanf_s("%d%d",&x,&n);

s=cal(v,x,n);

printf("%5d^%-5d=",x,n);

for(inti=s+1,cnt=1;i

{

printf("%d",v[i]);

if(!(cnt%15))

printf("n");

}

printf("n");

return0;

}

其中,第⼆个例⼦的输出为每15位换⾏,让较⼤的输出结果更加规整。

更多推荐

大数运算