素數:又稱質數,即“大于1,且只能被1和它本身整除的數”
步驟構思:
1、for遍歷回圈找其他約數
2、if設定滿足條件(計數器從2開始,不包括它本身)有則中斷輸出
需求一:判斷素(質)數
function primeNum(num) { // 宣告命名函式(形參)
var flag = true; // 變數儲存=條件為真
for (var i = 2; i < num; i++) { // for設定回圈體,遍歷是否存在其他約數(素數:從2開始只能被1和自身整除)
if (num % i === 0) {
flag = false
break // 存在則終止執行并回傳輸出
}
}
return flag // 回傳該變數的真偽值
}
var values = primeNum(9) // 用數字9來測驗
console.log(values); // false
需求二:找出100~1000之間的所有素(質)數
var primeNum = [] // 該區間所有素數的集合就是一個陣列
var i = 0;
var count = 0; // 計算素數的個數
for (i = 100; i <= 1000; i++) {
var j = 0;
for (j = 2; j < i; j++) { // 素數需條件"大于1,且只能被1和它本身整除的數"
if (i % j === 0) { // 能被其他數整除則為非質數,終止遍歷
break;
}
}
if (j >= i) { // !JavaScript沒有"塊級作用域",變數j在for回圈賦值結束后仍存在于"外部環境"!
count++; // 計算素數的個數
primeNum.push(i) // 累計追加的素數
}
}
console.log('共有素數' + count + '個');
console.log(primeNum); // 輸出目標結果陣列
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/131656.html
標籤:其他
