范仁义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>