GO输出介于a,b(含a,b,且a<=b)的所有“水仙花数”。所谓“水仙花数”是指一个数,其各位数字立方和等于该数本身。例如,153是一个“水仙花数”,因为153=13+53+33。 输入格式: 100 200 输出格式: 153 输入样例: 100 900 输出样例: 153 370 371 407
时间: 2024-03-01 21:51:17 浏览: 65
输出所有的水仙花数
5星 · 资源好评率100%
好的,以下是 Go 语言的实现代码:
```go
package main
import (
"fmt"
"math"
)
func isNarcissisticNumber(num int) bool {
var sum int
temp := num
for temp > 0 {
digit := temp % 10
sum += int(math.Pow(float64(digit), 3))
temp /= 10
}
return sum == num
}
func main() {
var a, b int
fmt.Scan(&a, &b)
for i := a; i <= b; i++ {
if isNarcissisticNumber(i) {
fmt.Print(i, " ")
}
}
}
```
输入格式为两个整数,使用 `fmt.Scan(&a, &b)` 进行读取。然后使用一个循环来遍历 a 到 b 之间的每个整数,判断其是否为水仙花数。对于判断水仙花数的函数 `isNarcissisticNumber`,我们可以依次取出每一位数字并计算其立方和,最后判断和是否等于该数本身。如果是,就将该数输出即可。
阅读全文