水仙花数(Narcissistic number)也称为超完全数字不变数,如果一个 3 位数,它每位上的数字的 3次幂之和等于它本身,那么这个数就是水仙花数。例如:1^3 + 5^3+ 3^3 = 153,153就是一个水仙花数。
一、需求说明
求100 - 999的水仙花数
二、步骤
1、循环生成 100 - 999 的所有数值
2、获取每个数值中的每一位上的数字
3、判断每一位上数字的立方加起来的和 与 这个数值本身是不是相同,是就输出。
三、完整代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
document.write('100 - 999的水仙花数有:');
for (var i = 100; i <= 999; i++) {
//获取第一位数
var first = parseInt(i / 100);
//获取第二位数
var second = parseInt((i % 100) / 10);
//获取第三位数
var third = parseInt(i % 10);
//判断是否是水仙花数,是就输出。
if (first * first * first + second * second * second + third * third * third === i) {
document.write(i + ' ');
}
}
</script>
</body>
</html>