JavaScript查找100到999之间的水仙花数

843 阅读1分钟

水仙花数(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>