老师,看一下是否正确,那里需要改进?

来源:2-17 编程练习

前端大白白

2019-03-14 16:25:34

<!DOCTYPE html>
<html>
<head>
    <meta charset="UTF-8">
    <title>水仙花数</title>
</head>
<body>
    <script>
        for(var i=0;i<10;i++){
            for(var j=0; j<=10; j++){
                for(var k=0; k<=10; k++){
                    var a=i*100+j*10+k,
                        b=i*i*i+j*j*j+k*k*k;
                    if(a==b){
                        document.write(a+"<br/>");
                    }

                }
            }
        }        
    </script>
</body>
</html>


写回答

1回答

山河远阔ZZ

2019-03-14

同学你好,效果中有一个问题:

1、页面中,多输出了:1 和 0 ,而题目要求的是输出三位数的水仙花数哦。

http://img.mukewang.com/climg/5c8a25c50001a67901200150.jpg

  • 外层循环如果从0开始的话,计算会多计算出0和1,把外层的初始条件改为1开始即可,参考下图:

    http://img.mukewang.com/climg/5c8a27940001d29407270404.jpg

2、同学的代码使用了太多的for循环嵌套,代码的可读性不是很好,可以参考老师的建议进行修改,参考下图:

http://img.mukewang.com/climg/5c8a283300015f7b08490443.jpg

  • 当计算出来的值,跟i的值相等的时候,它就是数水仙花数,并把水仙花数输出。

自己试一试哦,如果帮助到了你,欢迎采纳。

祝学习愉快!

0

0 学习 · 36712 问题

查看课程