首頁  >  文章  >  web前端  >  jQuery尋找n以內完全數的方法_jquery

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

WBOY
WBOY原創
2016-05-16 15:53:001530瀏覽

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

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

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

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

-- 《費馬大定理》

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

因數:假如整數n除以m,結果是無餘數的整數,那麼我們稱m就是n的因數。 需要注意的是,唯有被除數,除數,商皆為整數,餘數為零時,此關係才成立。 反過來說,我們稱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程式設計有所幫助。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn