Maison > Article > interface Web > JavaScript trouve le nombre parfait entre 1000
Quel est le nombre parfait ?
En mathématiques, un nombre parfait est un type particulier d'entier naturel. La somme de tous ses facteurs propres (c'est-à-dire les facteurs autres que lui-même) est égale à lui-même.
Par exemple : 6 est un nombre parfait car tous les vrais facteurs de 6 sont 1, 2 et 3, et leur somme est exactement égale à 6.
Alors, comment utiliser JavaScript pour trouver le nombre parfait entre 1000 ?
On peut d'abord écrire une fonction pour déterminer si un nombre est complet :
function isPerfectNumber(num) { let sum = 0; for (let i = 1; i <= num / 2; i++) { if (num % i === 0) { sum += i; } } return sum === num; }
La fonction de cette fonction est de calculer la somme des vrais facteurs d'un nombre S'il est égal au nombre lui-même, il renvoie vrai, sinon, il renvoie faux.
Ensuite, nous pouvons écrire une boucle pour énumérer chaque nombre inférieur à 1000 afin de déterminer s'il s'agit d'un nombre parfait :
for (let i = 1; i <= 1000; i++) { if (isPerfectNumber(i)) { console.log(i); } }
La fonction de cette boucle est d'énumérer chaque nombre inférieur à 1000, si ce nombre est un nombre parfait, imprimez simplement ça sort.
La combinaison de ces deux parties donne le code complet :
function isPerfectNumber(num) { let sum = 0; for (let i = 1; i <= num / 2; i++) { if (num % i === 0) { sum += i; } } return sum === num; } for (let i = 1; i <= 1000; i++) { if (isPerfectNumber(i)) { console.log(i); } }
Exécutez ce code et vous pourrez afficher le numéro complet à moins de 1000. Sur ma machine, le résultat de ce code est :
1 6 28 496
Il existe donc 4 nombres parfaits dans les 1000, qui sont 1, 6, 28 et 496.
Bien sûr, si nous devons trouver un nombre d'achèvements plus important, ce programme peut durer longtemps. Parce que le nombre de nombres parfaits est très limité et que, à mesure que la valeur augmente, les intervalles entre les nombres parfaits deviennent de plus en plus grands, donc trouver des nombres parfaits plus grands peut nécessiter des algorithmes plus efficaces.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!