소수는 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 구현 코드 공유의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!