国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

JavaScript求指定范圍內的質數

2019-11-06 06:12:55
字體:
來源:轉載
供稿:網友

質數是大于1的自然數中,沒有除了1和它自身之外其他因子的數。

這篇帖子,將考慮如何求指定范圍內的質數。

 

實現函數有如下的特性:

1.它接受2個參數,代表兩個邊界,比如getPRimes(0, 30),代表求0到30之間的所有質數。

2.兩個參數可以第一個比第二個大,比如getPrimes(30, 0),它依然代表求0到30之間的所有質數。

3.兩個邊界值都在考慮的范圍內。

4.返回值是一個增序的數組,里面包含該范圍內的所有質數。

 

問題的思路:

1.首先,需要一個判斷質數的方法。

2.對參數進行處理,判斷上邊界和下邊界。

3.在范圍內進行順序遍歷,只要是質數就存入數組。

 

代碼實現:

//判斷是否為質數function isPrime(number) {	//0,1,負數肯定不是    if(number < 2){        return false;    }    var factor = Math.sqrt(number);	//注意:這里是"<=factor",而不是"<"	//比如說25,factor是5,如果用"<"就會誤判    for(var i=2;i<=factor;i++){        if(number % i == 0){            return false;        }    }    return true;}//獲取范圍內的質數function getPrimes(start, finish) {	//確定上邊界    var max = Math.max(start, finish);	//確定下邊界    var min = Math.min(start, finish);    var result = [];	//由小到大遍歷    for(var i=min;i<=max;i++){		//滿足質數條件,存入數組        if(isPrime(i)){            result.push(i);        }    }    return result;}//[]console.log(getPrimes(0, 0)); //[2, 3, 5, 7, 11, 13, 17, 19, 23, 29]console.log(getPrimes(0, 30));//[2, 3, 5, 7, 11, 13, 17, 19, 23, 29]console.log(getPrimes(30, 0));


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 苍山县| 芦山县| 科尔| 华蓥市| 墨竹工卡县| 板桥市| 本溪市| 苍梧县| 吐鲁番市| 年辖:市辖区| 襄樊市| 镇安县| 汕尾市| 交口县| 长宁区| 白沙| 区。| 化州市| 晋江市| 聊城市| 乳源| 万宁市| 天镇县| 海兴县| 克什克腾旗| 腾冲县| 夏邑县| 屏南县| 凤翔县| 阿拉善盟| 武城县| 桃源县| 阿荣旗| 灌云县| 黄山市| 从化市| 阿荣旗| 京山县| 桂阳县| 思茅市| 苍山县|