【基础入门题】Golang 007. 求所有三位的水仙花数
水仙花数定义:指一个正整数的各位数字的立方和等于其本身。
求出所有三位的水仙花数,即在范围(100,1000)内的水仙花数。
————————————————————————————
方法一:
package main
import "fmt"
func CubicSum(n int) int {
i := 0
for n/10 > 0 {
j := n % 10
i += j * j * j
n /= 10
}
return i + n*n*n
}
func main() {
count := 0
for i := 100; i < 1000; i++ {
if CubicSum(i) == i {
fmt.Println(i)
count++
}
}
fmt.Printf("三位的水仙花数共有:%d个。\n", count)
}
方法二:
package main
import "fmt"
func isNarcissus(n int) bool {
i, j := 0, n
for j/10 > 0 {
k := j % 10
i += k * k * k
j /= 10
}
return i+j*j*j == n
}
func main() {
count := 0
for i := 100; i < 1000; i++ {
if isNarcissus(i) {
fmt.Println(i)
count++
}
}
fmt.Printf("三位的水仙花数共有:%d个。\n", count)
}
运行结果:
153
370
371
407
三位的水仙花数共有:4个。
欢迎加入CSDN社区!
https://bbs.csdn.net/forums/PythonTogether
版权说明 : 本文为转载文章, 版权归原作者所有 版权申明
原文链接 : https://hannyang.blog.csdn.net/article/details/121893090
内容来源于网络,如有侵权,请联系作者删除!