JavaScript中编程将所有“水仙花数”打印出来,并打印其总个数。

JavaScript中编程将所有“水仙花数”打印出来,并打印其总个数。

“水仙花数”是一个各个位立方之和等于该整数的三位数(个位数立方 + 十位数立方 + 百位数立方 = 这个整数)。

 

方法一:

 var count = 0; //水仙花总个数数
    var numArr = []; // 保存水仙花数;
    // 百位数
    for(var i = 1; i < 10; i++) {
        // 十位数
        for (var j = 0; j < 10; j++) {
           for( var k = 0; k <10; k++) {
            //    console.log(100 * i + j*10 + k);
               var n1 = 100 * i + j*10 + k;
               var n2 = Math.pow(i,3) + Math.pow(j,3) + k*k*k;
               if (n1 == n2) {
                   count++;
                //    console.log("水仙花数:"+n1);
                   numArr.push(n1);
               }
           }            
        }
    }
    console.log("水仙花:",numArr,"总个数="+count);

如图所示:

JavaScript中编程将所有“水仙花数”打印出来,并打印其总个数。_第1张图片

 

方法二:

for( var i = 100; i < 999;i++) {
        // i 三位数

        // 百位
        var n1 = Math.floor( i / 100) // 向下取整
        // 十位
        var n2 = Math.floor( i % 100 / 10);
        // 个位
        var n3 = i % 10;

       var res = Math.pow(n1,3) + Math.pow(n2,3) + Math.pow(n3,3);
        if (i == res) {
            console.log("水仙花:"+i);
        }
    }

如图所示:

JavaScript中编程将所有“水仙花数”打印出来,并打印其总个数。_第2张图片

你可能感兴趣的:(前端)