用go语言求 1+2!+3!+…+20! 的和。
时间: 2023-11-16 11:05:26 浏览: 39
以下是使用Go语言计算1+2!+3!+...+20!的和的代码:
```
package main
import "fmt"
func factorial(n int) int {
if n == 0 {
return 1
}
return n * factorial(n-1)
}
func main() {
sum := 0
for i := 1; i <= 20; i++ {
sum += factorial(i)
}
fmt.Println(sum)
}
```
这段代码中,我们定义了一个名为`factorial`的函数,用于计算一个整数的阶乘。然后在`main`函数中,我们使用一个循环来计算1到20的阶乘,并将它们相加得到最终的结果。最后,我们使用`fmt.Println`函数将结果输出到控制台。
相关问题
用go语言实现2.求 1+2!+3!+…+20! 的和。
以下是使用Go语言实现求1+2!+3!+…+20!的和的代码:
```
package main
import "fmt"
func main() {
sum := 0
factorial := 1
for i := 1; i <= 20; i++ {
factorial *= i
sum += factorial
}
fmt.Println(sum)
}
```
代码解释:
- 首先定义变量sum和factorial,分别用于存储求和结果和阶乘结果。
- 然后使用for循环从1到20遍历每个数字。
- 在循环中,每次将当前数字的阶乘累加到sum中,并更新factorial的值。
- 最后输出sum的值即可。
使用go语言实现乘法表
### 回答1:
好的,我可以帮助你用 Go 语言实现乘法表。
这是一个简单的示例代码:
```
package main
import "fmt"
func main() {
for i := 1; i <= 9; i++ {
for j := 1; j <= i; j++ {
fmt.Printf("%d*%d=%d ", j, i, i*j)
}
fmt.Println()
}
}
```
输出结果如下:
```
1*1=1
1*2=2 2*2=4
1*3=3 2*3=6 3*3=9
1*4=4 2*4=8 3*4=12 4*4=16
1*5=5 2*5=10 3*5=15 4*5=20 5*5=25
1*6=6 2*6=12 3*6=18 4*6=24 5*6=30 6*6=36
1*7=7 2*7=14 3*7=21 4*7=28 5*7=35 6*7=42 7*7=49
1*8=8 2*8=16 3*8=24 4*8=32 5*8=40 6*8=48 7*8=56 8*8=64
1*9=9 2*9=18 3*9=27 4*9=36 5*9=45 6*9=54 7*9=63 8*9=72 9*9=81
```
希望这能帮到你!
### 回答2:
使用Go语言实现乘法表可以按照以下步骤进行:
1. 首先,我们需要定义一个变量n,表示乘法表的最大乘数。可以通过用户输入或者直接赋值的方式来获得。
2. 定义一个循环,从1到n,表示乘法表的行数。
3. 在循环中,再次定义一个嵌套的循环,从1到n,表示每一行的列数。
4. 在嵌套的循环中,输出当前行数和列数的乘积。
5. 每行输出完毕后,通过换行符\n来换行。
下面是一个使用Go语言实现乘法表的示例代码:
```go
package main
import "fmt"
func main() {
var n int
fmt.Print("请输入乘法表的最大乘数:")
fmt.Scan(&n)
// 循环打印乘法表
for i := 1; i <= n; i++ {
for j := 1; j <= n; j++ {
// 输出乘积
fmt.Printf("%d\t", i*j)
}
// 换行
fmt.Println()
}
}
```
以上代码实现了一个简单的乘法表生成程序。用户可以输入最大乘数,程序会根据输入的值生成对应大小的乘法表,并输出到控制台上。每个乘积用制表符分隔,每行结束后会换行。可以根据实际需求对代码进行适当的修改和扩展。