程序书算法精题–JS版
- 打印出所有的"水仙花数", 所谓"水仙花数" 是指一个三位数, 其各位数字立方和等于该数本身.
例如: 153 是一个"水仙花数", 因为153 = 1^3 + 5^3 + 3^3
分析
- 打印三位数的所有"水仙花数’
- ^3
- 利用for循环控制100 - 999 个数, 每个数分解出个位, 十位, 百位
- 将三个数的立方相加与原数字进行比较
源码
for (let i = 100; i <= 999; i++) {
// 分割出个位
let a = Math.floor(i % 10);
// 分割出十位
let b = Math.floor(i / 10 % 10);
// 分割出百位
let c = Math.floor(i / 100);
if (i == Math.pow(a, 3) + Math.pow(b, 3) + Math.pow(c, 3)) {
console.log(i);
}
}
console