所谓水仙花数是满足类似于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>