当前时区 GMT+8, 现在时间是 2008-10-8 09:38 游客: 注册 登录 仅登录论坛 | 搜索 帮助


标题: 关于对阶乘求和的问题!谢谢!
fydream
注册会员
Rank: 2


UID 146000
精华 0
积分 314
帖子 127
阅读权限 20
注册 2004-8-12
来自 家
状态 离线
发表于 2004-11-1 22:01  资料  短消息  加为好友  添加 fydream 为MSN好友 通过MSN和 fydream 交谈 ICQ 状态
关于对阶乘求和的问题!谢谢!

我现在想认真学习C语言!我刚刚起步,不免有些很笨的问题,谢谢兄弟们的指教!
这是关于对阶乘求和的问题,题目是:
求1!+2!+3!+4!+5!+6!+7!+8!+9!.......+17!+18!+19!+20!
我写的代码是:
[code:1]main()
{
int i,sum;
for(i=1,sum=0;i<=20;sum+=jiecheng(i),i++)
printf("%ld",sum);
}
int jiecheng (int n)
{
  long a;
  int n;
  while(n<=20&&n>=1)
  {a=20;n--;a*=(n-1);}
  return(a);
}[/code:1]
编译凑合着通过了,但是运行后吓了我一跳!请看:
[code:1]@fydream yuandaima]$ gcc -o fy 64.c
64.c: In function `jiecheng':
64.c:10: warning: declaration of `n' shadows a parameter
64.c:14:2: warning: no newline at end of file
[fydream@fydream yuandaima]$ ./fy
05181436103628721554430820725744259071803108861636270052414514884663292451814360569957966217723267358668725401047772154082902976880844129326584898447284[fydream@fydream yuandaima]$
[/code:1]
谢谢兄弟们的帮助!





寒 世 欺 轻 如 拾 只 避 敬 再 看 山 间 我 我 何 得 要 他 他 过 他 问 有 辱 贱 处 曰 忍 由 不 数 . 拾 人 我 我 治 .. 他 他 要 年 . 得 谤 笑 骗 呼 .. 让 耐 理 你 . .. 我 我 我 ?? .. 他 他 他 且 . 我的blog:http://fydream.blog.sh/
顶部
mozilla
公社特别嘉宾
Rank: 10Rank: 10Rank: 10


UID 315
精华 7
积分 17883
帖子 7268
阅读权限 120
注册 2002-7-1
来自 China
状态 离线
发表于 2004-11-1 22:45  资料  短消息  加为好友  ICQ 状态
20的阶乘很大,long不够表达。

[code:1]
#include <stdio.h>
unsigned long long jiecheng(i)
{
    int j;
    unsigned long long k=1;
    for(j=i;j>1;j--)
        k=k*j;
    return k;
}

main(int argc,char **argv)
{
    int i;
    unsigned long long sum=0;
    for(i=1;i<=20;i++)
        sum=sum+jiecheng(i);
    printf("%llu\n",sum);
}

[/code:1]

顶部
mozilla
公社特别嘉宾
Rank: 10Rank: 10Rank: 10


UID 315
精华 7
积分 17883
帖子 7268
阅读权限 120
注册 2002-7-1
来自 China
状态 离线
发表于 2004-11-1 22:46  资料  短消息  加为好友  ICQ 状态
你打出的数字很长是因为你没加回车,所以连在一起了。

顶部
firemoth
中级会员
Rank: 3Rank: 3


UID 146009
精华 0
积分 693
帖子 277
阅读权限 30
注册 2004-8-12
来自 China
状态 离线
发表于 2004-11-2 08:33  资料  短消息  加为好友 
用递归





The real act of discovery is not in finding new lands, but in seeing with new eyes.
顶部
fydream
注册会员
Rank: 2


UID 146000
精华 0
积分 314
帖子 127
阅读权限 20
注册 2004-8-12
来自 家
状态 离线
发表于 2004-11-2 12:42  资料  短消息  加为好友  添加 fydream 为MSN好友 通过MSN和 fydream 交谈 ICQ 状态
欧!这下好了!谢谢兄弟!用无符号长整型定义!我记住了!谢谢!!!





寒 世 欺 轻 如 拾 只 避 敬 再 看 山 间 我 我 何 得 要 他 他 过 他 问 有 辱 贱 处 曰 忍 由 不 数 . 拾 人 我 我 治 .. 他 他 要 年 . 得 谤 笑 骗 呼 .. 让 耐 理 你 . .. 我 我 我 ?? .. 他 他 他 且 . 我的blog:http://fydream.blog.sh/
顶部
hobby!
高级会员
Rank: 4


UID 153489
精华 5
积分 1520
帖子 622
阅读权限 50
注册 2004-9-16
来自 China
状态 离线
发表于 2004-11-2 22:51  资料  短消息  加为好友  QQ
对整型数我在保重一下:
int就是signed short int
signed int =-2^15>2^15
unsigned int 0>(2^16)-1
short int 大少和signed int一样大
unsigned short int 大少和 unsigned int一样大
long int=-2^31>(2^31)-1
unsigned long int =0>(2^32)-11

顶部
fydream
注册会员
Rank: 2


UID 146000
精华 0
积分 314
帖子 127
阅读权限 20
注册 2004-8-12
来自 家
状态 离线
发表于 2004-11-20 16:36  资料  短消息  加为好友  添加 fydream 为MSN好友 通过MSN和 fydream 交谈 ICQ 状态
好的!谢谢楼上的兄弟,帮助归纳!谢谢!:)





寒 世 欺 轻 如 拾 只 避 敬 再 看 山 间 我 我 何 得 要 他 他 过 他 问 有 辱 贱 处 曰 忍 由 不 数 . 拾 人 我 我 治 .. 他 他 要 年 . 得 谤 笑 骗 呼 .. 让 耐 理 你 . .. 我 我 我 ?? .. 他 他 他 且 . 我的blog:http://fydream.blog.sh/
顶部
kelehy
新手上路
Rank: 1



UID 214573
精华 0
积分 1
帖子 1
阅读权限 10
注册 2006-3-30
状态 离线
发表于 2007-10-11 16:58  资料  主页 短消息  加为好友 
不知道有谁知道把上面的阶乘用java写一下啊

顶部
hobby!
高级会员
Rank: 4


UID 153489
精华 5
积分 1520
帖子 622
阅读权限 50
注册 2004-9-16
来自 China
状态 离线
发表于 2007-11-29 16:20  资料  短消息  加为好友  QQ
java与C++是一样的.java的各包,自己查一下资料,将自己觉得有用的记下来,相信对水平有所提高!

顶部
 


Powered by Discuz! 5.5.0  © 2001-2007 Comsenz Inc.
清除 Cookies - 联系我们 - 中国Linux公社 - WAP