萬盛學電腦網

 萬盛學電腦網 >> 腳本專題 >> javascript >> jQuery尋找n以內完全數的方法

jQuery尋找n以內完全數的方法

   本文實例講述了jQuery尋找n以內完全數的方法。分享給大家供大家參考。具體分析如下:

  數的完滿取決於它的因數(能整除原數的那些數)。

  例如:12的因數是1,2,3,4和6。當一個數的各因數之和大於該數本身時,該數稱為“盈”數。於是12是一個盈數,因為它的因數加起來等於16。另一方面,當一個數的因數之和小於該數本身時,該數稱為“虧”數。所以10是一個虧數,因為它的因數(1,2和5)加起來只等於8。

  最有意義和最少見的數是那些其因數之和恰好等於其本身的數,這些數就是完滿數。

  -- 《費馬大定理》

  尋找完全數,首先就要計算數的因數,百度復習一下什麼是因數。

  因數:假如整數n除以m,結果是無余數的整數,那麼我們稱m就是n的因數。 需要注意的是,唯有被除數,除數,商皆為整數,余數為零時,此關系才成立。 反過來說,我們稱n為m的倍數。

  ?

1 2 3 4 5 6 7 8 9 10 11 12 <!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>

  ?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 /* * 尋找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程序設計有所幫助。

copyright © 萬盛學電腦網 all rights reserved