이 기사의 예에서는 jQuery가 n 내에서 완전수를 찾는 방법을 설명합니다. 참고할 수 있도록 모든 사람과 공유하세요. 구체적인 분석은 다음과 같습니다.
숫자의 완전성은 인수(원래 숫자를 나눌 수 있는 숫자)에 따라 달라집니다.
예: 12의 약수는 1, 2, 3, 4, 6입니다. 어떤 숫자의 약수의 합이 숫자 자체보다 클 때 그 숫자를 "잉여" 숫자라고 합니다. 따라서 12는 인수의 합이 16이 되기 때문에 잉여 숫자입니다. 반면에, 어떤 숫자의 약수들의 합이 숫자 자체보다 작을 때 그 숫자를 "결핍" 숫자라고 합니다. 따라서 10은 요소(1, 2, 5)의 합이 8이 되기 때문에 적자 숫자입니다.
가장 의미 있고 희귀한 숫자는 인수의 합이 정확히 그 자체인 숫자입니다.
-- "페르마의 마지막 정리"
완벽한 숫자를 찾으려면 먼저 숫자의 인수가 무엇인지 검토해야 합니다.
인수: 정수 n을 m으로 나누면 결과는 나머지가 없는 정수이므로 m은 n의 인수라고 합니다. 이 관계는 피제수, 제수, 몫이 모두 정수이고 나머지가 0인 경우에만 적용된다는 점에 유의해야 합니다. 반대로, 우리는 n을 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; });
이 기사가 모든 사람의 jQuery 프로그래밍에 도움이 되기를 바랍니다.