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>
努力吧,为了媳妇儿,为了家。。。