此 Go 程序使用 for 循环从 1 迭代到 n,并计算自然数的总和与平均值。在 for 循环中,我们将每个数字加到总数中,循环结束后,计算平均值。
package main
import "fmt"
func main() {
var num, i int
fmt.Print("\nEnter the Maximum Natural Number = ")
fmt.Scanln(&num)
total := 0
for i = 1; i <= num; i++ {
total = total + i
}
average := total / num
fmt.Println("The Sum of Natural Numbers from 1 to ", num, " = ", total)
fmt.Println("The Average of Natural Numbers from 1 to ", num, " = ", average)
}
SureshMac:GoExamples suresh$ go run sumofNatural1.go
Enter the Maximum Natural Number = 10
The Sum of Natural Numbers from 1 to 10 = 55
The Average of Natural Numbers from 1 to 10 = 5
SureshMac:GoExamples suresh$ go run sumofNatural1.go
Enter the Maximum Natural Number = 20
The Sum of Natural Numbers from 1 to 20 = 210
The Average of Natural Numbers from 1 to 20 = 10
Golang 程序计算自然数的总和与平均值
在此 Golang 程序中,我们声明了一个新的函数,该函数返回从 1 到 N 的自然数的总和。在该函数中,我们使用了数学公式 n(n+1)/2 来获取总和。
package main
import "fmt"
func sumAvg(num int) int {
if num == 0 {
return num
} else {
return (num * (num + 1) / 2)
}
}
func main() {
var num int
fmt.Print("\nEnter the Maximum Natural Number = ")
fmt.Scanln(&num)
total := sumAvg(num)
average := total / num
fmt.Println("The Sum of Natural Numbers from 1 to ", num, " = ", total)
fmt.Println("The Average of Natural Numbers from 1 to ", num, " = ", average)
}
SureshMac:GoExamples suresh$ go run sumofNatural2.go
Enter the Maximum Natural Number = 15
The Sum of Natural Numbers from 1 to 15 = 120
The Average of Natural Numbers from 1 to 15 = 8
SureshMac:GoExamples suresh$ go run sumofNatural2.go
Enter the Maximum Natural Number = 60
The Sum of Natural Numbers from 1 to 60 = 1830
The Average of Natural Numbers from 1 to 60 = 30
在此 Go 程序中,我们使用更新后的值递归调用 sumAvg 函数。此 Go 程序(查找自然数的总和与平均值)的主要部分是 (num + sumAvg(num-1))。
package main
import "fmt"
func sumAvg(num int) int {
if num == 0 {
return num
} else {
return (num + sumAvg(num-1))
}
}
func main() {
var num int
fmt.Print("\nEnter the Maximum Natural Number = ")
fmt.Scanln(&num)
total := sumAvg(num)
average := total / num
fmt.Println("The Sum of Natural Numbers from 1 to ", num, " = ", total)
fmt.Println("The Average of Natural Numbers from 1 to ", num, " = ", average)
}
