为什么计算阶乘 ,7的阶乘是5040

qkb_75_go · · 4111 次点击 · 开始浏览    置顶
这是一个创建于 的主题,其中的信息可能已经有所发展或是发生改变。

为什么计算结果 7的阶乘是5040 见这个连接: http://stackoverflow.com/questions/11270547/go-big-int-factorial-with-recursion ```golang func factorial(x int) (result int) { if x == 0 { result = 1; } else { result = x * factorial(x - 1); } return; } ``` as a big.Int so as to make it effective for larger values of x. The following is returning a value of 0 for fmt.Println(factorial(r)) The factorial of 7 should be 5040? Any ideas on what I am doing wrong? ============================================= 我看见这段代码,好像没什么问题呀? 自己测试,从0道10的阶乘数,果然7的阶乘是5040,比较扎眼 加上了 print 函数,函数调用过程比较奇怪,结果还是5040 怪了,问题出在哪里? 加上 gdb ,好像程序的运行没有怪异的地方呀? ..... 后来,我拿出计算器,1*2*3*4*5*6*7 ,我靠,就是5040! 这个 帖子 是一个伟大的玩笑么?

有疑问加站长微信联系(非本文作者)

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

4111 次点击  ∙  1 赞  
加入收藏 微博
1 回复  |  直到 2014-12-06 14:25:50
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传