编写一个 Go 程序,计算从 1 到 n 的偶数之和。它使用 for 循环在 1 和 n 之间迭代。循环内部,if 语句过滤偶数并将偶数累加到总和中。
package main
import "fmt"
func main() {
var evnum, eventotal int
fmt.Print("Enter the Number to find Even Sum = ")
fmt.Scanln(&evnum)
eventotal = 0
fmt.Println("List of Even Numbers from 1 to ", evnum, " are = ")
for x := 1; x <= evnum; x++ {
if x%2 == 0 {
fmt.Print(x, "\t")
eventotal = eventotal + x
}
}
fmt.Println("\nSum of Even Numbers from 1 to ", evnum, " = ", eventotal)
}
Enter the Number to find Even Sum = 10
List of Even Numbers from 1 to 10 are =
2 4 6 8 10
Sum of Even Numbers from 1 to 10 = 30
Golang 程序查找偶数之和
在此 Golang 程序中,我们修改了 for 循环并计算偶数之和。
package main
import "fmt"
func main() {
var evnum, eventotal int
fmt.Print("Enter the Number to find Even Sum = ")
fmt.Scanln(&evnum)
eventotal = 0
fmt.Println("List of Even Numbers from 1 to ", evnum, " are = ")
for x := 2; x <= evnum; x = x + 2 {
fmt.Print(x, "\t")
eventotal = eventotal + x
}
fmt.Println("\nSum of Even Numbers from 1 to ", evnum, " = ", eventotal)
}
Enter the Number to find Even Sum = 20
List of Even Numbers from 1 to 20 are =
2 4 6 8 10 12 14 16 18 20
Sum of Even Numbers from 1 to 20 = 110
此 Go 程序计算从最小值到最大值的偶数之和。在这里,我们使用了一个额外的 if 语句来确保用户输入的值是偶数,方法是递增奇数值。
package main
import "fmt"
func main() {
var evenmin, evenmax, eventotal int
fmt.Print("Enter the Minimum Even Number = ")
fmt.Scanln(&evenmin)
fmt.Print("Enter the Maximum Even Number = ")
fmt.Scanln(&evenmax)
if evenmin%2 != 0 {
evenmin++
}
eventotal = 0
fmt.Println("Even Numbers from ", evenmin, " to ", evenmax, " = ")
for x := evenmin; x <= evenmax; x = x + 2 {
fmt.Print(x, "\t")
eventotal = eventotal + x
}
fmt.Println("\nSum of Even Numbers from ", evenmin, " to ", evenmax, " = ", eventotal)
}
Enter the Minimum Even Number = 30
Enter the Maximum Even Number = 50
Even Numbers from 30 to 50 =
30 32 34 36 38 40 42 44 46 48 50
Sum of Even Numbers from 30 to 50 = 440
这与第一个偶数之和示例相同。但是,此 go 示例计算了 min 和 max 限制之间的总和。
package main
import "fmt"
func main() {
var evenmin, evenmax, eventotal int
fmt.Print("Enter the Minimum Even Number = ")
fmt.Scanln(&evenmin)
fmt.Print("Enter the Maximum Even Number = ")
fmt.Scanln(&evenmax)
eventotal = 0
fmt.Println("Even Numbers from ", evenmin, " to ", evenmax, " = ")
for x := evenmin; x <= evenmax; x++ {
if x%2 == 0 {
fmt.Print(x, "\t")
eventotal = eventotal + x
}
}
fmt.Println("\nSum of Even Numbers from ", evenmin, " to ", evenmax, " = ", eventotal)
}
