国产探花免费观看_亚洲丰满少妇自慰呻吟_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));


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 建德市| 那坡县| 中牟县| 长治县| 屯留县| 北宁市| 侯马市| 武乡县| 长葛市| 西昌市| 龙门县| 嫩江县| 遵义市| 大新县| 紫阳县| 涡阳县| 青州市| 邵东县| 贺兰县| 同心县| 萨嘎县| 古蔺县| 沙坪坝区| 聂拉木县| 舞钢市| 油尖旺区| 琼海市| 班戈县| 镇雄县| 桓台县| 洛扎县| 岳普湖县| 台湾省| 九江市| 潮安县| 彭山县| 江津市| 通渭县| 元谋县| 鄂托克旗| 长阳|