最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

JavaScript求指定范围内的质数的实现代码分享

来源:懂视网 责编:小采 时间:2020-11-27 20:23:55
文档

JavaScript求指定范围内的质数的实现代码分享

JavaScript求指定范围内的质数的实现代码分享:质数是大于1的自然数中,没有除了1和它自身之外其他因子的数。这篇帖子,将考虑如何求指定范围内的质数。实现函数有如下的特性:1.它接受2个参数,代表两个边界,比如getPrimes(0, 30),代表求0到30之间的所有质数。2.两个参数可以第一个比第二个大,比如ge
推荐度:
导读JavaScript求指定范围内的质数的实现代码分享:质数是大于1的自然数中,没有除了1和它自身之外其他因子的数。这篇帖子,将考虑如何求指定范围内的质数。实现函数有如下的特性:1.它接受2个参数,代表两个边界,比如getPrimes(0, 30),代表求0到30之间的所有质数。2.两个参数可以第一个比第二个大,比如ge

质数是大于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));

文档

JavaScript求指定范围内的质数的实现代码分享

JavaScript求指定范围内的质数的实现代码分享:质数是大于1的自然数中,没有除了1和它自身之外其他因子的数。这篇帖子,将考虑如何求指定范围内的质数。实现函数有如下的特性:1.它接受2个参数,代表两个边界,比如getPrimes(0, 30),代表求0到30之间的所有质数。2.两个参数可以第一个比第二个大,比如ge
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top