728x90
문제
2 이상의 자연수를 입력받아 2부터 해당 수까지의 소수(prime number)들을 리턴해야 합니다.
나와 페어가 쓴 코드
더보기
function listPrimes(num) {
// TODO: 여기에 코드를 작성합니다.
let result = '';
if(num>=2){
result = '2';
}
for(let i = 3; i<=num; i++){
for(let j = 2; j <= i; j++){
if(i%j === 0){
break
}
else if(j === i-1){
result = result + '-' + String(i)
}
}
}
return result
}
reference
더보기
function listPrimes(num) {
let result = '2';
for (let candi = 3; candi <= num; candi += 2) {
let isPrime = true;
let sqrt = parseInt(Math.sqrt(candi));
for (let divider = 3; divider <= sqrt; divider += 2) {
if (candi % divider === 0) {
isPrime = false;
break;
}
}
if (isPrime) {
result = `${result}-${candi}`;
}
}
return result;
}
728x90
'코플릿 > 반복문' 카테고리의 다른 글
isPrime (0) | 2021.10.07 |
---|---|
getSumOfFactors (0) | 2021.10.07 |
factorial (0) | 2021.10.07 |
isOdd (나눗셈 사용하지 않고) (0) | 2021.10.07 |