微信扫一扫打赏支持

范仁义js课程---31、for循环练习2(水仙花数)

范仁义js课程---31、for循环练习2(水仙花数)

一、总结

一句话总结:

在水仙花数的练习中,我们将问题分解成了 1、找所有的三位数;2、求一个三位数各个位置上面的数字;3、立方和判断; 这样问题就可以简单下手了
<script>
    //从100-999的遍历
    for(var i=100;i<=999;i++){
        var bai=parseInt(i/100);//求i的百位
        var shi=parseInt(i%100/10);//求i的十位
        var ge=i%10;//求i的个位
        //各个位置数字等于本身的判断
        if(i==(bai*bai*bai+shi*shi*shi+ge*ge*ge)){
            console.log(i);
        }
    }
</script>

 

1、如何求一个三位数各个位置上面的数字?

bai=parseInt(xyz/100);//求xyz的百位
shi=parseInt(xyz%100/10);//求xyz的十位
ge=xyz%10;//求xyz的个位

 

 

 

 

二、for循环练习2(水仙花数)

博客对应课程的视频位置:31、for循环练习2(水仙花数)
https://www.fanrenyi.com/video/19/128

 

1、需求

输出所有的“水仙花数”,所谓的“水仙花数”是指一个三位数其各位数字的立方和等于该数本身,例如153是“水仙花数”,因为:153 = 13 + 53 + 33。

 

 

 1 <!DOCTYPE html>
 2 <html lang="en">
 3 <head>
 4     <meta charset="UTF-8">
 5     <title>for循环练习2(水仙花数)</title>
 6 </head>
 7 <body>
 8 <!--
 9 输出所有的“水仙花数”,所谓的“水仙花数”是指一个三位数其各位数字的立方和等于该数本身,
10 例如153是“水仙花数”,因为:153 = 1^3 + 5^3 + 3^3。
11 1^3=1
12 5^3=125
13 3^3=27
14 
15 分析:
16 1、三位数:100-999
17 
18 2、如何求一个数各个位置上面的数字:
19 百位:
20 xyz:153
21 153/100=1.53
22 bai=parseInt(xyz/100)
23 
24 十位:
25 xyz:153
26 153%100=53
27 53/10=5.3
28 parseInt(5.3)
29 shi=parseInt(xyz%100/10)
30 
31 个位:
32 xyz:153
33 153%10=3
34 ge=xyz%10;
35 
36 3、立方和
37 i
38 i*i*i
39 
40 
41 
42 -->
43 <script>
44     //从100-999的遍历
45     for(var i=100;i<=999;i++){
46         var bai=parseInt(i/100);//求i的百位
47         var shi=parseInt(i%100/10);//求i的十位
48         var ge=i%10;//求i的个位
49         //各个位置数字等于本身的判断
50         if(i==(bai*bai*bai+shi*shi*shi+ge*ge*ge)){
51             console.log(i);
52         }
53     }
54 </script>
55 
56 </body>
57 </html>

 

 

 

 
posted @ 2020-03-01 07:18  范仁义  阅读(479)  评论(0编辑  收藏  举报