C语言编程……求1!+2!+…+19!+20答案大于10的19次方,

发布时间:2021-03-07 18:28:36

C语言编程……求1!+2!+…+19!+20答案大于10的19次方,

网友回答

1!+2!+…+19!+20!已测试,计算器计算结果和程序计算结果一样,
发图为证,请看图
#include<stdio.h>
long a[7]={0,0,0,0,0,0,1};
long sum[7]={0,0,0,0,0,0,0};
void jiecheng(int n)
{int i,j,temp;
    for(i=0;i<6;i++) a[i]=0;
    a[6]=1;
for(i=1;i<=n;i++){
for(j=6,temp=0;j>=0;j--){
a[j]*=i;
a[j]+=temp;
temp=0;
if(a[j]>=10000){
temp=a[j]/10000;
a[j]=a[j]%10000;
}}}}void _sum(void)
{     int i,temp=0;
     for(i=6;i>=0;i--){
          sum[i]+=a[i];
sum[i]+=temp;
temp=0;
if(sum[i]>=10000){
temp=sum[i]/10000;
sum[i]=sum[i]%10000;
}    }
}void  shuchu()
{int i;
for(i=0;!sum[i]&&i<7;i++);
printf("%d",sum[i]);
i++;while(i<7){
if(sum[i]<1000){
printf("0");
     if(sum[i]<100){
printf("0");
if(sum[i]<10) printf("0");
}}printf("%d",sum[i]);
i++;
}printf("\n");
}int main(void)
{int  i;
      for(i=1;i<=20;i++){
 jiecheng(i);      _sum();
以上问题属网友观点,不代表本站立场,仅供参考!