我们要求100-999的水仙花数,那么我们首先来了解一下什么是水仙花数吧!
比如说153这个数,153=13+53+33,像这样一个数等于它各位数的立方和,他就是个水仙花数。
这个题目有很多种方案,我选择把,每一个数的个位、十位、百位找出来,当然小伙伴们也可以选择把数字转换成字符串去做。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>100-999之间的水仙花数</title>
</head>
<body>
</body>
<script>
// 可以做到100-999
for(var sum=100;sum<=999;sum++) {
if(Math.pow(Math.floor(sum/100),3)+Math.pow(Math.floor((sum/10)%10),3)+Math.pow(Math.floor((sum%100)%10),3)===sum) {
console.log(sum);
}
}
// 可以做到0-999
for(var num=0;num<=999;num++) {
if(Math.pow(Math.floor((num%1000)/100),3)+Math.pow(Math.floor((num%100)/10),3)+Math.pow(Math.floor(num%10),3)===num) {
document.write(num+"<br/>");
}
}
</script>
</html>
这里我给了两种方法,都能做出来,但是第二种相对来说会更好一些。