在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
什么是水仙花数?水仙花数:三位数:[100,999] 每个位上的数字的立方和,刚好等于该数字本身,那么就叫水仙花数 比如:153 1*1*1 + 5*5*5 + 3*3*3 = 1+125+27=153 思考:如何分别取出三位数的百位、十位、个位?以268为例: (1)取出百位: 268 / 100 = 2 (2)取出个位: 268 % 10 = 8 (3)取出十位(两种方法): 268 --> 268 / 10 % 10 = 6 268 --> 268 % 100 / 10 = 6 Go实现求水仙花数的两种方式第一种: package main
import (
"fmt"
"math"
)
func main() {
for i := 100; i < 1000; i++ {
x := i / 100 //百位
y := i / 10 % 10 //十位
z := i % 10 //个位
if math.Pow(float64(x), 3)+math.Pow(float64(y), 3)+math.Pow(float64(z), 3) == float64(i) {
fmt.Println(i)
}
}
}
第二种: package main
import "fmt"
func main() {
for a := 1; a < 10; a++ {
for b := 0; b < 10; b++ {
for c := 0; c < 10; c++ {
n := a*100 + b*10 + c*1
if a*a*a+b*b*b+c*c*c == n {
fmt.Println(n)
}
}
}
}
}
最终结果153 |
请发表评论