2-17 编程练习
水仙花数是这样的一个数字,它的每个位数上的数字的3次幂之和等于它本身,例如(1*1*1+5*5*5+3*3*3)=153;
请在页面中输出1000以内的水仙花数
任务
1、获取到1000以内的水仙花数,我们可以使用循环来进行判断,注意循环的条件以及循环的初始变量值
2、循环每一个三位数,当满足水仙花数的条件时就在页面中输出这个数
参考代码:
<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title></title>
</head>
<body>
<script>
// a³+b³+c³=100a+10b+c
for(var a=1;a<9;a++){
for(var b=0;b<9;b++){
for(var c=0;c<9;c++){
if(a*a*a+b*b*b+c*c*c==100*a+10*b+c){
document.write(100*a+10*b+c+"<br/>");
}
}
}
}
</script>
</body>
</html>
百度百科中水仙花数的求解代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<script type="text/javascript">
var a = 0, b = 0, c = 0;
for (var i = 100; i < 1000; i++)
{
a = i % 10;//a为个位数
b = parseInt(((i / 10) % 10));//b为十位数
c = parseInt(i / 100);//c为百位数
if (i === a * a * a + b * b * b + c * c * c)
{
document.write('水仙花数: ' + i + '<br/>');
}
}
</script>
</body>
</html>