L'exemple de cet article décrit comment jQuery trouve des nombres parfaits dans n. Partagez-le avec tout le monde pour votre référence. L'analyse spécifique est la suivante :
La perfection d'un nombre dépend de ses facteurs (ces nombres qui peuvent diviser le nombre d'origine).
Par exemple : les facteurs de 12 sont 1, 2, 3, 4 et 6. Lorsque la somme des facteurs d’un nombre est supérieure au nombre lui-même, le nombre est appelé nombre « excédentaire ». Donc 12 est un nombre excédentaire car ses facteurs totalisent 16. En revanche, lorsque la somme des facteurs d’un nombre est inférieure au nombre lui-même, ce nombre est appelé nombre « déficient ». 10 est donc un nombre déficitaire car ses facteurs (1, 2 et 5) ne totalisent que 8.
Les nombres les plus significatifs et les plus rares sont ceux dont la somme des facteurs correspond exactement à eux-mêmes. Ces nombres sont des nombres parfaits.
-- "Le dernier théorème de Fermat"
Pour trouver un nombre parfait, vous devez d'abord calculer les facteurs du nombre. Baidu examine ce que sont les facteurs.
Facteur : Si un entier n est divisé par m, le résultat est un entier sans reste, alors on dit que m est un facteur de n. Il convient de noter que cette relation n’est vraie que lorsque le dividende, le diviseur et le quotient sont tous des nombres entiers et que le reste est nul. A l’inverse, on appelle n un multiple de m.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>JS Bin</title> </head> <body> <input type="text" id="num"/> <button id="calc">计算</button> <p id="result"></p> </body> </html>
/* * 寻找n以内的完美数 */ function $(id){ return document.getElementById(id); } //判断是否为正整数 function isIntNum(number){ var num = number; if((!isNaN(num)) && (parseInt(num) == parseFloat(num))){ return true; }else{ return false; } } $("calc").addEventListener("click",function(){ var inputNum = $("num").value, $result = $("result"), factorArr = [], resultArr = [], i = 0, j = 0, sum = 0; //检验输入是否为正整数 if(isIntNum(inputNum)){ console.log("right"); }else{ $result.innerHTML = "输入错误:请输入正整数"; return false; } //遍历所有数字 for(var k = 1;k < inputNum;k++){ //每次计算需重置变量 factorArr.length = 0; sum = 0; //寻找当前数字的因数 for(i = 1;i < Math.floor(k/2)+1; i++){ if(k % i === 0){ factorArr.push(i); } } //计算因数之和 for(var m = 0;m < factorArr.length;m++){ sum += factorArr[m]; } //因素和等于当前数,则符合完全数标准 if(sum === k){ resultArr.push(k); } } $result.innerHTML=resultArr; });
J'espère que cet article sera utile à la programmation jQuery de chacun.