麻烦老师看看代码的理解,谢谢
来源:2-13 编程练习
YoLo_H
2020-07-20 14:44:33
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
var hundreds, tens, ones;
/* 水仙数三位数起,100开始 100-999都是三位数,所以遍历这范围的数即可*/
for (i = 100; i < 1000; i++) {
/* 百位等于i除以100取整 */
hundreds = parseInt(i / 100);
/* 十位等于i减去百位数后余下的数除以10取整 */
tens = parseInt((i - hundreds * 100) / 10);
/* 个位就简单了i减去百位,十位后剩余的零头 */
ones = i - hundreds * 100 - tens * 10;
/* 套水仙数判断的等式,符合就输出这个水仙数即可 */
if (hundreds * hundreds * hundreds + tens * tens * tens + ones * ones * ones == i)
document.write(i + "<br/>");
}
</script>
</body>
</html>
1回答
同学你好,效果是正确的,另外公式不好理解,可以参考下方:
以i=153为例:
百位数字:153/100=1.53,然后用parseInt方法转化成整数,也就是1 。
十位数字:(153-1*100)/10=5.3,用parseInt转化成整数,也就是5 。
个位数字:153-1*100-5*10=3 。
如果我的回答帮到了你,欢迎采纳,祝学习愉快~
相似问题