标题:如何求一个较大的数的阶乘啊?有的数的阶乘太大一运行程序得到的结果都错了 ...
取消只看楼主
ZZlove
Rank: 2
等 级:论坛游民
帖 子:29
专家分:28
注 册:2010-3-7
结帖率:25%
已结贴  问题点数:20 回复次数:1 
如何求一个较大的数的阶乘啊?有的数的阶乘太大一运行程序得到的结果都错了。
我用递归写了一个,但只能得到小于15的数的阶乘。看书上说要用一个数组来表示太大的结果,还有什么大整数乘法,求教。
这个是用递归写的
#include<stdio.h>
long int fn(int a);
void main()
{
 int n;
 long int sum;
 scanf("%d",&n);
 sum = fn(n);
 printf("%d\n",sum);
}
long int fn(int a)
{
 if(a == 1)
 {
  return 1;
 }
 else
 {
  a = a*fn(a-1);
  return a;
 }
}
搜索更多相关主题的帖子: 阶乘 结果 运行 
2010-06-03 23:15
ZZlove
Rank: 2
等 级:论坛游民
帖 子:29
专家分:28
注 册:2010-3-7
得分:0 
回复 2楼 zhuxu0423
你用的是一个数组来存这个较大的数吧,能解释一下吗?我新手有的看不懂。
2010-06-04 23:22



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-309227-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.531430 second(s), 8 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved