js-2种方法输出1000以内所有的“水仙花数”--小技巧
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script type="text/javascript">
//输出所有的“水仙花数”
window.onload = function() {
// var num = 153;
// console.log(num%10); //3 拿到个位数
// console.log(parseInt((num/10)%10));//5 十位
// console.log(parseInt(num/100));//1 百位
//第一种方法拿到每一位计算
var g, s, b, sum, num = [],j = 0;
for (var i = 100; i < 1000; i++) {
g = i % 10;
s = parseInt((i / 10) % 10);
// s = parseInt((i % 100) / 10); //这样也可以取到十位
b = parseInt(i / 100);
// console.log(g,s,b);
sum = Math.pow(g, 3) + Math.pow(s, 3) + Math.pow(b, 3);
// console.log(sum);
if (i == sum) {
num[j] = sum;
console.log(sum);
j++;
}
}
// 显示
document.write("水仙花数都有:");
for (var i = 0; i < num.length; i++) {
document.write(num[i] + "、");
}
//第二种方法,用字符串方法实现
var str,gg, ss, bb, sum1, num1 = [],k = 0;
for(var n = 100; n < 1000; n++){
str = n.toString();//转字符
// console.log(str);
bb = Number(str.charAt(0));//百位
ss = Number(str.charAt(1));//十位
gg = Number(str.charAt(2));//个位
sum1 = Math.pow(gg, 3) + Math.pow(ss, 3) + Math.pow(bb, 3);
if(sum1 === n){
num1[j] = sum1;
j++;
document.write('<br />'+sum1+'<br />');
}
}
}
</script>
</head>
<body>
</body>
</html>
本文来自博客园,作者:JackieDYH,转载请注明原文链接:https://www.cnblogs.com/JackieDYH/p/17634848.html