n的阶乘可以用一个for循环来求解,同时,前n个数的阶乘相加,也可以用一个for循环来遍历,则求前n个数的阶乘之和,就需要2个for循环。即代码如下:
//jiecheng_test.go
package yufa
import (
"fmt"
"testing"
)
func jieChengHe(num int64) (res int64){
if num <= 1 {
return 1
}
var i,j,tmp int64 = 0,0,1
res = 0
for i=1;i<=num; i++ {
tmp = 1
for j=1;j<=i; j++ {
tmp = tmp*j
}
res += tmp
}
return res
}
func TestJiCheng(t *testing.T) {
num := jieChengHe(20)
fmt.Println("1!+2!+...+20!=",num)
}
效果如下: