Prime Numbers JavaScript(质数 JavaScript)
问题描述
有人可以指导我在这里获取质数吗?这是家庭作业,所以我不想要答案,但我们将不胜感激.真的很烦我:(
Can someone please give me guidance on getting the primenumbers here? This is homework so I don't want the answer but some pointers would be greatly appreciated. It's really annoying me :(
我想我已经接近了.但我遇到的这个问题是数字 25 和 35.这些不是素数,但这个函数正在返回它们
I think I'm close. But this problems I have are number 25 and 35. These are not prime but this function is returning them
var getPrimeNumber = function(n) {
if(n === 1) return "";
else if(n == 2) return 2;
else if(n == 3) return 3;
else {
for(i=Math.floor(Math.sqrt(n)); i>=2; i--){
//console.log(i);//maybe another var in here?
if(n%i !==0 && n%2 !==0 && n%3 !== 0)
return n; // 25/Math.sqrt(25) will be equal to zero this is what gives me 25 !!!
}
}
};
推荐答案
基于本页,这将是一种确定数字是否为素数的方法:
Based on this page, this would be a method for determining if a number is a prime number:
function isPrime(number) {
let start = 2;
const limit = Math.sqrt(number);
while (start <= limit) {
if (number % start++ < 1) return false;
}
return number > 1;
}
在 node.js 中,确定 2 到 100.000 之间的质数大约需要 250 毫秒.
In node.js it takes about 250Ms for determining the prime numbers between 2 and 100.000.
另见...
[编辑八月.2021] 一个更有效的函数.查看这个 Stackblitz 项目
[edit aug. 2021] A somewhat more efficient function. See this Stackblitz project
document.querySelector(`pre`).textContent = `Prime numbers < 100
` +
[...Array(100)]
.map((v, i) => isPrime(i) ? i : 0)
.filter(v => v > 0)
.join(`
`);
function isPrime(number) {
const checkPrime = (nr, limit) => {
for (let start = 3; start <= limit; start += 2) {
if (0 === nr % start) {
return false;
}
}
return nr > 1;
};
return number === 2 || number % 2 !== 0 && checkPrime(number, Math.sqrt(number));
}
<pre></pre>
这篇关于质数 JavaScript的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:质数 JavaScript
- CSS媒体查询(最大高度)不起作用,但为什么? 2022-01-01
- addEventListener 在 IE 11 中不起作用 2022-01-01
- Flexslider 箭头未正确显示 2022-01-01
- 如何使用 JSON 格式的 jQuery AJAX 从 .cfm 页面输出查 2022-01-01
- Fetch API 如何获取响应体? 2022-01-01
- Css:将嵌套元素定位在父元素边界之外一点 2022-09-07
- Quasar 2+Apollo:错误:找不到ID为默认的Apollo客户端。如果您在组件设置之外,请使用ProvideApolloClient() 2022-01-01
- 失败的 Canvas 360 jquery 插件 2022-01-01
- 400或500级别的HTTP响应 2022-01-01
- 使用RSelum从网站(报纸档案)中抓取多个网页 2022-09-06
