| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 34025 人关注过本帖, 1 人收藏
标题:求1到20的阶乘之和
只看楼主 加入收藏
parden
Rank: 2
等 级:论坛游民
帖 子:29
专家分:36
注 册:2011-9-21
结帖率:100%
收藏(1)
已结贴  问题点数:3 回复次数:16 
求1到20的阶乘之和
程序代码:
#include <stdio.h>
main()
{
  int i;
  long int s,t=1;
  for(i=1;i<21;i++)
     {
         t=t*i;
         printf("i=%d,t=%ld\n",i,t);//运行到15以后就不对了,不知是为什么请大虾指教
         s+=t;          
     }
   printf("s=%ld",s);
}
搜索更多相关主题的帖子: 公寓 
2011-12-27 13:47
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:0 
你按计算器看一下15!是多大?你不要以为声明了long int,它就真比int大一倍字节数,在大多数实现中,long int仍然是32位的数据量而已。

[ 本帖最后由 TonyDeng 于 2011-12-27 14:12 编辑 ]

授人以渔,不授人以鱼。
2011-12-27 13:52
czz5242199
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:660
专家分:2400
注 册:2011-10-26
收藏
得分:0 
char        1一个字节 8位
short       2个字节    16位
int,long,long int   4个字节 32位
long long,_int64 8个字节 64位
2011-12-27 14:22
parden
Rank: 2
等 级:论坛游民
帖 子:29
专家分:36
注 册:2011-9-21
收藏
得分:0 
回复 2楼 TonyDeng
那如果想得出结果,该如何做?
2011-12-27 14:26
parden
Rank: 2
等 级:论坛游民
帖 子:29
专家分:36
注 册:2011-9-21
收藏
得分:0 
回复 3楼 czz5242199
设为long long也不对。
2011-12-27 14:28
czz5242199
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:660
专家分:2400
注 册:2011-10-26
收藏
得分:0 
输出写%lld
2011-12-27 14:30
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
直接大数运算就好

                                         
===========深入<----------------->浅出============
2011-12-27 14:33
TonyDeng
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:贵宾
威 望:304
帖 子:25859
专家分:48889
注 册:2011-6-22
收藏
得分:3 
回复 4楼 parden
用double,输出"%.0lf"不要小数点,显示出来就是整数。double也只能到80!左右(具体忘了,好像是85还是多少)。

授人以渔,不授人以鱼。
2011-12-27 14:33
parden
Rank: 2
等 级:论坛游民
帖 子:29
专家分:36
注 册:2011-9-21
收藏
得分:0 
回复 8楼 TonyDeng
昨天晚上,我用了double,但是输出的时候没有用%lf。现在可以了。谢谢。
2011-12-27 14:38
czz5242199
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:4
帖 子:660
专家分:2400
注 册:2011-10-26
收藏
得分:0 
回复 8楼 TonyDeng
用double是不行的,虽然它最大值很大,但是不精确,我算了一下n=30!就出错了
2011-12-27 14:40
快速回复:求1到20的阶乘之和
数据加载中...
 
   



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

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