大数_高精度阶乘
2014-01-02 21:19
113 查看
#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int a[20000] = {0};
int carry = 0;
int digit = 1;
void jiecheng(int m){
int i, j;
int k;
a[0] = 1;
for(i = 2; i <= m; i++){
for(j = 0; j < digit; j++){
a[j] = a[j] * i + carry;
carry = a[j] / 10;
a[j] = a[j] % 10;
}
k = 0;
while(carry != 0){
a[digit] += carry % 10;
digit++;
carry = carry / 10;
}
}
}
int main()
{
int n;
int i;
scanf("%d", &n);
getchar();
jiecheng(n);
for(i = digit - 1; i >= 0; i--){
printf("%d", a[i]);
}
printf("\n");
return 0;
}
#include<string.h>
#include<stdlib.h>
int a[20000] = {0};
int carry = 0;
int digit = 1;
void jiecheng(int m){
int i, j;
int k;
a[0] = 1;
for(i = 2; i <= m; i++){
for(j = 0; j < digit; j++){
a[j] = a[j] * i + carry;
carry = a[j] / 10;
a[j] = a[j] % 10;
}
k = 0;
while(carry != 0){
a[digit] += carry % 10;
digit++;
carry = carry / 10;
}
}
}
int main()
{
int n;
int i;
scanf("%d", &n);
getchar();
jiecheng(n);
for(i = digit - 1; i >= 0; i--){
printf("%d", a[i]);
}
printf("\n");
return 0;
}
相关文章推荐
- 高精度方法求阶乘
- 阶乘、排列,组合的高精度运算
- 高精度阶乘
- 高精度运算之阶乘
- 阶乘计算(高精度)
- 2018年全国多校算法寒假训练营练习比赛(第三场)- E - 进击吧!阶乘(高精度)
- 高精度N的阶乘-N!
- 蓝桥杯:基础练习 阶乘计算 高精度加法
- 4165 高精度求阶乘
- 高精度计算阶乘(摘抄版)
- 高精度阶乘
- 高精度阶乘
- 蓝桥杯 高精度阶乘计算
- 高精度N的阶乘-N!
- 蓝桥杯:基础练习 Huffuman树、FJ的字符串、阶乘计算、高精度加法
- 高精度阶乘的运算
- 旧代码 - 高精度阶乘
- AC日记——阶乘之和 洛谷 P1009(高精度)
- 高精度阶乘(大数运算)
- 九度OJ 1076 N的阶乘 (高精度大数的乘法)