阶乘计算升级版
2017-09-09 15:41
302 查看
这题数字到后面很大,不能用普通的方法。用数组进行大整数的乘法。手工算法。
int mutiply(int N); void Print_Factorial(int N) { double sum=1; int s; if(N<0) { printf("Invalid input\n"); return; } if(N==0) { printf("1\n"); return; } if(N>0) { mutiply(N); return; } } int mutiply(int N) { int s; int a[3000]={0}; a[0]=1; int c;//进位用 for(int i=2;i<=N;i++) { c=0; for(int j=0;j<3000;j++) { s=i*a[j]+c; a[j]=s%10; c=s/10; } } int k; for(int i=2999;i>=0;i--) { if(a[i]) { k=i; break; } } for(int i=k;i>=0;i--) printf("%d",a[i]); }
相关文章推荐
- [PTA] 4-10 阶乘计算升级版
- 4-10 阶乘计算升级版 (20分)
- 计算阶乘升级版---pta测试基础题
- PAT练习基础编程题目之阶乘计算升级版
- 阶乘计算升级版
- 4-10 阶乘计算升级版
- (函数题)4-10 阶乘计算升级版
- PAT基础题 4-10 阶乘计算升级版
- pta 6-10 阶乘计算升级版
- 4-10 阶乘计算升级版 (20分)
- 4-10 阶乘计算升级版
- 4-10 阶乘计算升级版 (20分)(大数乘法)
- 4-10 阶乘计算升级版 (20分)
- 4-10 阶乘计算升级版
- 阶乘计算升级版
- 6-10 阶乘计算升级版
- 阶乘计算升级版(大整数)
- PTA 4-10 阶乘计算升级版 (20分)
- PAT基础编程题 4-10 阶乘计算升级版
- 阶乘计算升级版