golang99道練習題之13
摘要:
1.打印出所有的“水仙花數”,所謂“水仙花數”是指一個三位數,其各位數字立方和等於該數本身。
例如:153是一個“水仙花數”,因為153=1的三次方+5的三次方+3的三次方。
2.程式分析:利用for迴圈控制100-999個數,每個數分解出個位,十位,百位。
3.程式原始碼:
...
1.打印出所有的“水仙花數”,所謂“水仙花數”是指一個三位數,其各位數字立方和等於該數本身。
例如:153是一個“水仙花數”,因為153=1的三次方+5的三次方+3的三次方。
2.程式分析:利用for迴圈控制100-999個數,每個數分解出個位,十位,百位。
3.程式原始碼:
package main import "fmt" func main() { for i := 1; i < 10; i++ { for j := 0; j < 10; j++ { for k := 0; k < 10; k++ { sum := i*100 + j*10 + k if sum == i*i*i+j*j*j+k*k*k { fmt.Println(sum) } } } } }
或者
package main import "fmt" func main() { var i, j, k = 0, 0, 0 for sum := 100; sum < 1000; sum++ { i = sum / 100 j = (sum % 100) / 10 k = sum % 10 if sum == i*i*i+j*j*j+k*k*k { fmt.Println(sum) } } }