麻烦老师看看代码的理解,谢谢

来源: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回答

好帮手慕言

2020-07-20

同学你好,效果是正确的,另外公式不好理解,可以参考下方:

以i=153为例:

百位数字:153/100=1.53,然后用parseInt方法转化成整数,也就是1 。

十位数字:(153-1*100)/10=5.3,用parseInt转化成整数,也就是5 。

个位数字:153-1*100-5*10=3 。

如果我的回答帮到了你,欢迎采纳,祝学习愉快~

0

0 学习 · 40143 问题

查看课程