Go开发之路 -- Go语言基本语法 - 作业
程序员文章站
2023-12-03 18:27:46
1. 判断101 - 200之间有多少个素数,并输出所有素数。 2. 打印出100-999中所有的“水仙花数”。所谓“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身。 例如:153是一个“水仙花数”,因为153 = 1的三次方 + 5的三次方 + 3的三次方。 3. 对于一个数n,求n的阶 ......
1. 判断101 - 200之间有多少个素数,并输出所有素数。
package main
import (
"fmt"
)
var count = 0
func prime(a, b int) {
var x int
for x = a; x < b; x++ {
for i := 2; i < x; i++ {
if x % i != 0 {
if x-1 == i {
fmt.println(x)
count += 1
}
}else {
i = x
}
}
}
}
func main() {
prime(101, 200)
fmt.printf("总共有%d个素数", count)
}
2. 打印出100-999中所有的“水仙花数”。所谓“水仙花数”是指一个三位数,其各位数字的立方和等于该数本身。
例如:153是一个“水仙花数”,因为153 = 1的三次方 + 5的三次方 + 3的三次方。
package main
import "fmt"
func main() {
for a:=100; a <= 999; a++ {
if (a/100)*(a/100)*(a/100) + ((a/10)%10)*((a/10)%10)*((a/10)%10) + (a%10)*(a%10)*(a%10) == a {
fmt.println(a)
}
}
}
3. 对于一个数n,求n的阶乘之和。即:1! + 2! + 3! + ... + n!
package main
import "fmt"
func fac(a int) int { // 求阶乘
x := 1
for i := 1; i <= a; i++ {
x *= i
}
return x
}
func sum (n int) int { // 求阶乘之和
sum := 0
for i := 1; i <= n; i++ {
sum += fac(i)
}
return sum
}
func main() {
fmt.println(sum(5))
}