水仙花数

1.水仙花数的含义:
"水仙花数"是指一个三位数其各位数字的立方和等于该数本身。例如153是“水仙花数”,因为:153 = 1³ + 5³ + 3³。
2、算法分析
根据“水仙花数”的定义,判断一个数是否为“水仙花数”,最重要的是要把给出的三位数的个位、十位、百位分别拆分,并求其立方和(设为sum),若sum与给出的三位数相等, 三位数为“水仙花数”,反之,则不是。
3、算法设计
“水仙花数”是指满足某一条件的三位数,根据这一信息可以确定整数的取值范围是 100〜999。对应的循环条件如下:

    for (n=10; n<1000; n++) {
      //祝你遍历山河  觉得人间值得
    }

代码说明:
将n整除以100,得出n在百位上的数字a。
将n取100的余数,除以10得出十位上的数。
将n取100的余数,取10的余数得出个位上的数。
求得a,b,c 三个数字的立方和是否与n相等,如果相等则证明该数为水仙花数。

代码实现

       for (var n = 100; i < 1000; i++) { //整数的取值范围
        var a = parseInt(n / 100); //找百位数
        var b = parseInt(n % 100 / 10); //找十位数
        var c = parseInt(n % 100 % 10); //找个位数
        if (a * a * a + b * b * b + c * c * c == n) { //进行判断 /*各位上的立方和是否与原数n相等*/
            console.log(n); //返回结果
        }
    }

运行结果:

    result :153  370  371  407

你可能感兴趣的:(水仙花数)