JavaScript——找出1000以内的完数

r囧r小猫 2024-04-06 09:26 174阅读 0赞

完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。如果一个数恰好等于它的因子之和,则称该数为“完全数”。第一个完全数是6,第二个完全数是28,第三个完全数是496,后面的完全数还有8128、33550336等等。

先定义一个变量,用来存储一个数的因子之和

  1. var sum = 0;

使用for循环找出1000以内所有的合数

  1. for (var i = 1; i <= 1000; i++) {
  2. for (var a = 1; a < i; a++) {
  3. if (i % a == 0) {
  4. // 如果是合数就计算出除它本身所有因子之和
  5. sum += a;
  6. }
  7. }
  8. }

接着if判断a的因子之和sum是否相等,如果相等则打印出来

  1. if(a == sum){
  2. console.log(a)
  3. }

最后让sum等于0接着下一次的循环,直到循环到1000

全代码如下:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8">
  5. <title></title>
  6. </head>
  7. <body>
  8. <script>
  9. // 一个数如果恰好等于它的因子之和,这个数就称为 "完数 "。例如6=1+2+3.编程 找出1000以内的所有完数。
  10. var sum = 0;
  11. for (var i = 1; i <= 1000; i++) {
  12. for (var a = 1; a < i; a++) {
  13. if (i % a == 0) {
  14. sum += a;
  15. }
  16. }
  17. if(a == sum){
  18. console.log(a)
  19. }
  20. sum = 0;
  21. }
  22. </script>
  23. </body>
  24. </html>

发表评论

表情:
评论列表 (有 0 条评论,174人围观)

还没有评论,来说两句吧...

相关阅读

    相关 100以内

    如果一个数等于其所有因子之和,这个数称为完数。 显然,如果要判断一个数是否是完数,应先求其所有因子,再将它们加起来,看其和是否和该数相等。 求:100以内所有完数。