大数阶乘
2014-07-27 21:27
176 查看
#include <stdio.h> #define N 2700 int main(void) { int n; while (scanf("%d", &n) != EOF) { int i, k, tmp, carry; int cnt = 0; /*结果的位数*/ int A = {1}; /*初始值为1*/ for (k=2; k<=n; ++k) { carry = 0; for (i=0; i<=cnt; ++i) { tmp = (A[i] * k) + carry; A[i] = tmp % 10; /*本位*/ carry = tmp/10; /*向高位的进位*/ if (i==cnt && carry!=0) { ++cnt; /*存在进位时,位数增1*/ } } } for (i=cnt; i>=0; --i) { printf("%d", A[i]); } printf("\n"); } return 0; }
相关文章推荐
- 菜鸟的大数阶乘的位数公式计算
- hdu1042【大数阶乘】
- 10000的阶乘的算法(大数的阶乘) [转]
- 200的阶乘即200!是多少?一个简陋的大数加、乘方法
- 九度OJ 1076 N的阶乘 大数乘法
- 大数阶乘的计算(五)
- 求大数的阶乘和末尾0个数的计算
- NYON28大数阶乘
- (N!)大数阶乘 模板
- C#阶乘类,可以精确计算大数的阶乘,10000的阶乘只要1.3秒左右
- 大数阶乘 我的ACM的第一步!
- 探讨大数阶乘的算法
- JavaScript的大数阶乘
- 递推法求大数阶乘
- 大数阶乘
- 自己写的复杂点的大数阶乘(会超时,有助于理解大数相乘)
- 计算大数阶乘--Linux Bash版
- HDU1042 N! 大数阶乘 Java
- 大数运算之100的阶乘(C语言实现)
- 大数n的阶乘