首页 > 其他分享 >三

时间:2024-07-20 20:43:37浏览次数:5  
标签: int Factorial carry 3000 printf Print

今天:把作业e的13道题刚做完
明天:写那38道编程题
问题:#include <stdio.h>

void Print_Factorial ( const int N );

int main()
{
int N;

scanf("%d", &N);
Print_Factorial(N);
return 0;

}

void Print_Factorial ( const int N ){
int n=N;
if(n==0){printf("1");}
else if(n<0)printf("Invalid input");
else {
int a[3000]={0};
a[0]=1;
for(int i=2;i<=n;i++){
int carry=0;
for(int j=0;j<=3000;j++){
a[j]=a[j]*i+carry;
carry=a[j]/10;
a[j]=a[j]%10;
}
}
int w;
for(int t=3000;t>=0;t--){

if(a[t]!=0){
    w =t;
    break;
}
}
for(int p=w;p>=0;p--){

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

}

}
}
高级方法那有些许不理解,先经过查阅资料以弄懂

标签:,int,Factorial,carry,3000,printf,Print
From: https://www.cnblogs.com/mlo9i/p/18313742

相关文章