go语言写代码输出全部水仙数
时间: 2024-10-18 07:21:41 浏览: 21
在Go语言中,水仙花数是指一个三位数,其各位数字立方和等于该数本身。例如,153是一个水仙花数,因为1^3 + 5^3 + 3^3 = 153。下面是一个简单的Go函数,用于找出并打印所有的水仙花数:
```go
package main
import "fmt"
func isArmstrong(n int) bool {
digits := []int{int(n % 10), int((n / 10) % 10), int(n / 100)}
sum := 0
for _, digit := range digits {
sum += digit * digit * digit
}
return n == sum
}
func findPythagoreanNumbers(start, end int) {
for num := start; num <= end; num++ {
if isArmstrong(num) {
fmt.Println(num)
}
}
}
func main() {
// 查找100到999范围内的水仙花数
findPythagoreanNumbers(100, 999)
}
```
这个程序定义了一个`isArmstrong`函数检查一个数是否为水仙花数,然后在`findPythagoreanNumbers`函数中遍历指定范围内的所有整数,并使用`isArmstrong`函数过滤出水仙花数。
阅读全文