为什么计算结果 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!
这个 帖子 是一个伟大的玩笑么?
有疑问加站长微信联系(非本文作者)