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>

 

转载于:https://www.cnblogs.com/jlj9520/p/5296191.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值