当前位置: 代码迷 >> C语言 >> [求助]求1!+2!+3!……20!的和,可是我每次都溢出。
  详细解决方案

[求助]求1!+2!+3!……20!的和,可是我每次都溢出。

热度:119   发布时间:2006-07-22 17:13:31.0
[求助]求1!+2!+3!……20!的和,可是我每次都溢出。
我知道阶乘的算法,可是1!+2!+3!……20!的和,怎么算都溢出。
我也用过float 定义了,可是还是溢出。
那位能些个代码看看,谢谢了。
我是新手。
搜索更多相关的解决方案: 算法  

----------------解决方案--------------------------------------------------------

unsigned long 这数据类型就可以~只要你代码正确~


----------------解决方案--------------------------------------------------------
提示: 作者被禁止或删除 内容自动屏蔽

2006-07-22 09:44:06
lianxin19

等 级:新手上路
帖 子:66
专家分:0
注 册:2006-7-8
  得分:0 
#include<iostream.h>//这是算30!的数值 你看看答案
unsigned long sum(int n)
{
if(n>1)
return (sum(n-1)*n);
else
return 1;
}
void main()
{
cout<<sum(30)<<endl;
}
----------------解决方案--------------------------------------------------------
提示: 作者被禁止或删除 内容自动屏蔽

2006-07-22 10:00:41
lianxin19

等 级:新手上路
帖 子:66
专家分:0
注 册:2006-7-8
  得分:0 
你的unsigned long 几个B啊
?
什么意思?
----------------解决方案--------------------------------------------------------
提示: 作者被禁止或删除 内容自动屏蔽

2006-07-22 10:03:23
wangsong

等 级:新手上路
帖 子:45
专家分:0
注 册:2006-7-15
  得分:0 

四个字节可以存下30!


----------------解决方案--------------------------------------------------------
提示: 作者被禁止或删除 内容自动屏蔽

2006-07-22 10:12:20
小笨鸟

等 级:新手上路
帖 子:25
专家分:0
注 册:2006-7-21
  得分:0 
谢谢,楼上的两位,
可是我不会用<<这个运算符,是什么意思啊
----------------解决方案--------------------------------------------------------
  相关解决方案