Go 程序查找自然数的总和与平均值

此 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)
}
Golang Program to find Sum and Average of Natural Numbers