03.for练习三.html 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  7. <title>Document</title>
  8. <script>
  9. /*
  10. 水仙花数是指一个三位数,它的每个位上的数字的3次幂之和等于它本身。
  11. (例如:1^3+5^3+3^=153),请打印所有的水仙花数
  12. */
  13. //我做的
  14. //初始化变量
  15. var h , s , g;
  16. var count = 0;
  17. for (var i = 100; i <= 999; i++) {
  18. // console.log(i);
  19. //取出百位数
  20. h = parseInt(i / 100);
  21. // console.log(h);
  22. //取出十位数
  23. s = parseInt(i % 100 / 10);
  24. // console.log(s);
  25. //取出个位数
  26. g = i % 10;
  27. // console.log(g);
  28. //定义变量,并接收百位、十位、个位的三次幂之和
  29. var num = h*h*h + s*s*s + g*g*g;
  30. // console.log(num);
  31. //判断和是否与数字本身相等
  32. if(num == i){
  33. console.log(i);
  34. count++;
  35. }
  36. }
  37. console.log('水仙花数有:'+count+'个');
  38. //老师讲的
  39. //定义一个变量,来保存总和
  40. //打印所有的三位数
  41. for(var i = 100 ; i <= 999 ; i++){
  42. //获取i的百位、十位、个位的数字
  43. //获取百位数字
  44. var bai = parseInt(i/100);
  45. //获取十位的数字
  46. var shi = parseInt((i-bai*100)/10);
  47. //获取个位的数字
  48. var ge = i % 10;
  49. //判断i是否是水仙花数
  50. if(bai*bai*bai+shi*shi*shi+ge*ge*ge == i){
  51. console.log(i);
  52. }
  53. }
  54. </script>
  55. </head>
  56. <body>
  57. </body>
  58. </html>