水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。
例:153=(1*1*1)+(5*5*5)+(3*3*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>水仙花</title>
<script>
//水仙花数是一种特殊的三位数,它的特点就是,每个数位的三次方和,等于它本身。请编程找出来
//穷举思想列举所有的三位数
for (var i = 100; i <= 999; i++) {
// i 的三个数位的三次方的和,等于 i 自己
//找到个位、十位、百位的数字
var ge = i % 10,
shi = parseInt(i / 10) % 10,
bai = parseInt(i / 100);
//计算三个数的三次方的和
var sum = ge * ge * ge + shi * shi * shi + bai * bai * bai;
//判断 sum 是否等于 i 自己,如果是,就是水仙花数,需要输出
if (sum == i) {
console.log(i);
}
}
//四位数的所有水仙花数
for (var j = 1000; j <= 9999; j++) {
// i 的四个数位的四次方的和,等于 i 自己
//找到个位、十位、百位、千位的数字
var ge = j % 10,
shi = parseInt(j / 10) % 10,
bai = parseInt(j / 100) % 10,
qian = parseInt(j / 1000);
//计算四个数的四次方的和
var sum = ge * ge * ge * ge + shi * shi * shi * shi + bai * bai * bai * bai + qian * qian * qian * qian;
//判断 sum 是否等于 i 自己,如果是,就是水仙花数,需要输出
if (sum == j) {
console.log(j);
}
}
</script>
</head>
<body>
</body>
</html>
这篇博客通过JavaScript实现了一个程序,用于找出所有三位和四位的水仙花数。水仙花数是指一个数,其每一位数的立方和等于它本身。程序使用穷举法遍历指定范围内的所有数,分别计算并验证它们是否为水仙花数,最后将符合条件的水仙花数输出。

955

被折叠的 条评论
为什么被折叠?



