大数的阶乘输入不超过1000的正整数n,输出n!=1×2×3×…×n的精确结果.样例输入:30样例输出:265252859812191058636308480000000【分析】为了保存结果,先分析1000!大约等于4×102567,因此可以用一个3000个

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/12 13:52:08
大数的阶乘输入不超过1000的正整数n,输出n!=1×2×3×…×n的精确结果.样例输入:30样例输出:265252859812191058636308480000000【分析】为了保存结果,先分析1000!大约等于4×102567,因此可以用一个3000个

大数的阶乘输入不超过1000的正整数n,输出n!=1×2×3×…×n的精确结果.样例输入:30样例输出:265252859812191058636308480000000【分析】为了保存结果,先分析1000!大约等于4×102567,因此可以用一个3000个
大数的阶乘
输入不超过1000的正整数n,输出n!=1×2×3×…×n的精确结果.
样例输入:30
样例输出:265252859812191058636308480000000
【分析】
为了保存结果,先分析1000!大约等于4×102567,因此可以用一个3000个元素的数组f保存.让f[0]保存结果的个位,f[1]是十位,f[2]是百位,…,则每次只需要模似手算即可完成n!.在输出时需要忽略前导0.注意,如果结果本身就是0,那么忽略所有前导0后将什么都不输出.所幸n!肯定不等于0,因本题可以忽略这个细节.
完整的程序如下:
#include
#include
const int maxn = 3000;
int f[maxn];
int main() {
int i,j,n;
scanf("%d",&n);
memset(f,0,sizeof(f));
f[0] = 1;
for(i = 2; i = 0; j--) if(f[j]) break; /* 忽略前导0 */
for(i = j; i >= 0; i--) printf("%d",f[i]);
printf("\n");
return 0;
for(i = 2; i

大数的阶乘输入不超过1000的正整数n,输出n!=1×2×3×…×n的精确结果.样例输入:30样例输出:265252859812191058636308480000000【分析】为了保存结果,先分析1000!大约等于4×102567,因此可以用一个3000个
这段代码:
for(i = 2; i

大数的阶乘输入不超过1000的正整数n,输出n!=1×2×3×…×n的精确结果.样例输入:30样例输出:265252859812191058636308480000000【分析】为了保存结果,先分析1000!大约等于4×102567,因此可以用一个3000个 编写程序,输入正整数n,计算它的阶乘n! 编写程序,输入正整数n,计算它的阶乘n! 输入两个正整数m和n,计算m的阶乘与n的阶乘的和 输入一个正整数,输出该数的阶乘.求整数n的阶乘公式为:=1*2*…*n.(n!表示n的阶乘) 大数运算计算 n 的阶乘(n>=20 ) 编写程序,输入正整数n,计数它的阶乘n!(n!=n×(n-1)×.×3×2×1). 编写程序,输入正整数N,计算它的阶乘N!(N!=N*(N-1)*…*3*2*1) 输入两个正整数m,n,编写求阶乘的函数,计算m!/(n!*(m-n)!). C语言函数解答,谢谢. c ++ 阶乘:输入一个正整数,求该数的阶乘? 急· 编写程序输入正整数n,计算他的阶乘n!(n=n×(n-1)×......×3×2×1) 编写程序,输入正整数n,计算它的阶乘n!(n!=n×(n-1)×…×3×2×1).注:请用程序框图表示 为什么大数的阶乘不能运行 如何判断一个数是否是阶乘之和,c语言里的输入一正整数N,判断其是否可以表示成一个的形式或者几个不同正整数的阶乘之和. 设计一个窗体,要求输入一个正整数N,计算并输出N的阶乘.VB的要写出这个题目的代码! 输入一个正整数n,计算1+1/2!+1/3!……1/n!的和并输出.要求将计算阶乘的运算定义用C语言! c语言菜鸟求救!题目为输入正整数n,算出0~n内的完全数,亲密数,水仙花,数阶乘和数,自守数孪生素数,黑洞数等请编写程序,输入正整数n,1 输入一个正整数n,生成一张阶乘表,输出 的值,要求定义和调用函数fact(n)计算 ,函数类型为dou