搜索
编程论坛
→
开发语言
→
『 C语言论坛 』
→ 阶乘的倒数和出不来???
标题:
阶乘的倒数和出不来???
只看楼主
初学者小Q
等 级:
新手上路
帖 子:30
专家分:0
注 册:2008-4-5
楼主
问题点数:0 回复次数:3
阶乘的倒数和出不来???
我想求∑1/n!
编以下程序,但n>2时∑1/n!恒等于1,这是为什么啊?
main()
{
int n=1,i=1,m;
float x=0;
printf("m=");
scanf ("%d",&m);
for (i=1;i<=m;i++);
{ n*=i;
x+=1/n;
}
printf("x=%10.8f",x);
}
[[it] 本帖最后由 初学者小Q 于 2008-4-19 17:17 编辑 [/it]]
搜索更多相关主题的帖子:
倒数
阶乘
float
int
main
2008-04-19 17:10
sunkaidong
来 自:南京师范大学
等 级:
贵宾
威 望:
12
帖 子:4496
专家分:141
注 册:2006-12-28
第
2
楼
得分:0
1/n==0
学习需要安静。。海盗要重新来过。。
2008-04-19 17:22
雨中飛燕
等 级:
新手上路
帖 子:765
专家分:0
注 册:2007-10-13
第
3
楼
得分:0
改1.0/n
" border="0" />
2008-04-19 17:28
初学者小Q
等 级:
新手上路
帖 子:30
专家分:0
注 册:2008-4-5
第
4
楼
得分:0
谢谢了,我刚发完帖就发现1/n==0,但不知道怎么改。可1.0/n竟解决了,是因为数据类型改变了吗?如果这样有必要把所有变量设为float型吗?新问题又出现了,n定义为float和n定义为int,在m>=8会出现不同值。而且float型值较大。n!值应该不会变吧,1/n!就不同了呢,是因为int和float取值范围不同呢。int:-32768~32767
float:-3.4*1e38~3.4*1e38。7!还在int范围内,而8!就超了。所以,将n定义为float型更好吧!
[[it] 本帖最后由 初学者小Q 于 2008-4-19 18:23 编辑 [/it]]
2008-04-19 17:45
4
1/1页
1
参与讨论请移步原网站贴子:
https://bbs.bccn.net/thread-209938-1-1.html
关于我们
|
广告合作
|
编程中国
|
清除Cookies
|
TOP
|
手机版
编程中国
版权所有,并保留所有权利。
Powered by
Discuz
, Processed in 0.012375 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved