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)
}
效果如下:
![](https://img-blog.csdnimg.cn/4b77ceffcdf14021848d6029092f0870.png?x-oss-process=image/watermark,type_ZHJvaWRzYW5zZmFsbGJhY2s,shadow_50,text_Q1NETiBAc2FucWltYQ==,size_20,color_FFFFFF,t_70,g_se,x_16)