水仙花数(Narcissistic number)也被称为超完全数字不变数(pluperfect digital invariant, PPDI)、自恋数、自幂数、阿姆斯壮数或阿姆斯特朗数(Armstrong number),水仙花数是指一个 3 位数,它的每个位上的数字的 3次幂之和等于它本身(例如:1^3 + 5^3+ 3^3 = 153)。
下面就利用js代码实现查找1000以内的水仙花数
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<script>
//从100循环到999,分别判断其中每一个数
for(i=100;i<1000;i++){
// 给三个变量分别赋值为个位数、十位数、百位数
var units=i%10,
tens=parseInt(i%100/10),
Hundreds=parseInt(i/100);
// 判断个位数、十位数、百位数立方相加是否等于这个数
if(Math.pow(units,3)+Math.pow(tens,3)+Math.pow( Hundreds,3)===i){
// 打印查找到的水仙花数
console.log(i)
}
}
</script>
</body>
</html>