| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2531 人关注过本帖
标题:如何求一个较大的数的阶乘啊?有的数的阶乘太大一运行程序得到的结果都错了 ...
取消只看楼主 加入收藏
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
快速回复:如何求一个较大的数的阶乘啊?有的数的阶乘太大一运行程序得到的结果都 ...
数据加载中...
 
   



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

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