js查找水仙花数

所谓水仙花数是满足类似于153=1³+5³+3³:

第一种方式:把这个数当做字符串来实现

<script>
  for(var i=100;i<=999;i++)
  {
   str_i=i.toString();
   var hundred=Number(str_i.charAt(0));//运用charAt(index)函数找百位数
   var ten=Number(str_i.charAt(1));
   var dig=Number(str_i.charAt(2));
   var result=Math.pow(hundred,3)+Math.pow(ten,3)+Math.pow(dig,3);//用Math.pow(num,x)实现立方的运算
   if(result===i)//判断是否和i相等
   {
   document.write('<br />'+string+'<br />');
   }
  }

第二种方式:当做个位、十位、百位来处理。

<script>
        var arr = [];
    for(var i=10;i<999;i++){
        //var a = i%10;
        //var b = (i/10)%10;
        //var c = i/100;
        a= i % 10; //提取个位数 
               b = parseInt(( i / 10) % 10); //提取十位数,转换为整型 
               c = parseInt(i / 100); //提取百位数,转换为整型 
        var sum = Math.pow(a,3) + Math.pow(b,3) + Math.pow(c,3);
        if (sum==i){
                arr.push(i);
        }
    }
        document.write("水仙花数是:" + arr.join("、"));
    </script>

 

posted @ 2016-03-19 20:16  纸鸢&红豆·绿豆  阅读(1898)  评论(0编辑  收藏  举报