본문 바로가기
코플릿 기록/JavaScript

반복문9번★★

by 뭉지야 2023. 1. 16.
728x90

문제) 1이상의 자연수를 입력받아 소수(Prime number)인지 여부를 리턴해야합니다.


#내가 작성한 답

//소수인지여부

//1과 자기자신

function isPrime(num) {

 for (let i =2; num > i; i++) {

   if(num % i === 0) {

    return false;}

}

 

#반성

근접하게 생각을 하고 있지만 좀 더 노력이 필요할것 같다.

자세하게 적어보고 자세하게 생각해봐야할것같다.

그렇게 차근히 생각하면서 하나씩 정리해보면 답이 나올것 같다.

 


#풀이

 

// 입력: 1이상의 자연수

//출력: 소수인지 여부
//소수가 뭐냐  2,3,5,7,11
//1. 소수는 1보다 커야한다.
//2. 2를 제외한 짝수는 소수가 아니다(2만 소수)
//3. 3부터 자기자신 전까지 나누어 떨어지는 수가 하나라도 있으면 소수가 아니다.


//1. 소수는 1보다 커야한다.

function isPrime(num){

 if (num === 1) {

return false;}

 

//2. 2를 제외한 짝수는 소수가 아니다(2만 소수)

if(num === 2) {

return true;}

if(num % 2 === 0) {

return false;}

 

//3. 3부터 자기자신 전까지 나누어 떨어지는 수가 하나라도 있으면 소수가 아니다.

for(let i=3; i < num; i++) {

if (num % i === 0) {

return false;}

return true;


#완성본

function isPrime(num){

 if (num === 1) {

return false;

}

if(num === 2) {

return true;

}

if(num % 2 === 0) {

return false;

}

for(let i=3; i < num; i++) {

if (num % i === 0) {

return false;

}

return true;

}

 

728x90

'코플릿 기록 > JavaScript' 카테고리의 다른 글

배열 1번  (0) 2023.01.23
데일리코딩 7번 convertListToObject  (0) 2023.01.22
반복문 8번★★  (0) 2023.01.16
반복문 7번  (1) 2023.01.16
데일리코딩3 (거듭제곱문제)  (0) 2023.01.16