首頁  >  文章  >  web前端  >  JavaScript怎麼求數組中的質數

JavaScript怎麼求數組中的質數

青灯夜游
青灯夜游原創
2021-09-02 16:02:534165瀏覽

方法:利用for迴圈語句或filter()方法循環遍歷數組,在每次迴圈中將一個數組元素分別移除2到“sqrt(元素本身)”,如果能被整除,則表示該數組元素不是質數,反之是質數;如果數組元素是質數,則輸出該元素即可。

JavaScript怎麼求數組中的質數

本教學操作環境:windows7系統、javascript1.8.5版、Dell G3電腦。

什麼是質數?

質數又稱質數,是指在大於1的自然數中,除了1和它本身以外不再有其他因數的自然數。

JavaScript怎麼求陣列中的質數

#利用for迴圈語句或filter()方法迴圈遍歷數組,在每次迴圈中判斷一個數組元素是不是質數,如果是,則輸出該元素。

判斷是不是質數的方法:用一個數分別去除2到sqrt(這個數),如果能被整除,則表示此數不是質數,反之是質數。

下面看看實作方法:

利用for迴圈

var a = [31,33,35,37,39,41,43,45,57,49,51,53];
for(var i=0;i<a.length;i++){
	var flag = 1;
	for(var j = 2; j*j <= i; j++) {//能被2 - sqrt(i)整除的数
	
		if(a[i] % a[j] == 0)
		{
			flag = 0;
			break;
		}
	}
	if(flag == 1) {
		console.log(a[i])
	}
}

JavaScript怎麼求數組中的質數

##利用filter()方法

function f(value, index, ar) {
	high = Math.floor(Math.sqrt(value)) + 1;
	for (var div = 2; div <= high; div++) {
		if (value % div == 0) {
			return false;
		}
		return true;
	}
}
var a = [31, 33, 35, 37, 39, 41, 43, 45, 57, 49, 51, 53];
var a1 = a.filter(f);
console.log(a1);

JavaScript怎麼求數組中的質數

【推薦學習:

javascript高階教學

以上是JavaScript怎麼求數組中的質數的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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