for循环:
for (var i=0i<10i++){}
while循环:
var i = 0
while (true){
i ++
if (i>=10) break
//这里写要执行的语句
}
打印出所有的 "水仙花数 ",所谓 "水仙花数 "是指一个三位数,其各位数字立方和等于该数 本身。
例如:153是一个 "水仙花数 ",因为153=1的三次方+5的三次方+3的三次方。
首先,他是一个三位数,那么他的取值范围就是100~999。
那么。这个数 个十百位 每一位的数字的取值范围都有了。百位是1-9。十位个位都是0-9。
其次。每一位数字的立方 的和 要等于它本身。
那么就有了1 *100 + 5 * 10 +3 = 1 * 1 * 1 + 5 * 5 * 5 + 3 * 3 * 3 = 153。
用三重for循环可以计算出每一个百位数。然后 添加 if “其各位数字立方和等于该数本身”这个条件。就计算出满足条件的数了。
结果如下
按照你的要求编写的Javascript程序如下(我给你写了两种写法,一种简单,一种复杂一点)
第一种
<script type=text/javascript>var str=window.prompt("请输入一个数:")
alert(str+"是"+str.length+"位数")
</script>
第二种
<script type=text/javascript>var str=window.prompt("请输入一个数:")
var num=parseInt(str)//parseInt函数是字符串型转整型的函数
var n=num
var count=0
while(n!=0){
n=Math.floor(n/10)//floor函数是向下取整函数,比如Math.floor(4.58)=4
count++
}
alert(num+"是"+count+"位数")
</script>
运行结果
请输入一个数:12345
12345是5位数