본문 바로가기

파이썬 Python/코드업

[코드업] 1274 : 소수 판별

728x90

코드업 '1274 : 소수 판별' 풀이

 

문제 ) 소수란, 약수가 1과 자기 자신 두 개 뿐인 수를 말한다. 어떤 수가 입력되면 그 수가 소수인지 판단하시오. 입력으로 주어진 수가 소수이면 "prime"을 출력, 소수가 아니면 "not prime"을 출력한다.

 

나의 풀이 )

 

 

*** 소수 판별하는 법 ***

 

 

소수란, 1과 자기 자신으로만 나누어 떨어지는 수를 말합니다.

이 개념을 이용하면 소수인지 아닌지를 판별할 수 있겠죠?

 

소수인지 아닌지 판별하려는 숫자를 num이라고 하면,

num을 1부터 num까지 나누었을 때 나누어 떨어지는 수의 개수가 2개이면 소수이고,

3개 이상이면 1과 자기 자신 말고도 나누어 떨어지는 수가 있다는 뜻이니 소수가 아니게 됩니다!

 

즉, for문을 이용해 int i가 1부터 num까지 순회하며, if문으로 num % i == 0 이 참일 때마다 count를 1씩 증가시켜주는 식을 만들고, for문을 다 순회한 후에 if문으로 count의 개수를 최종 확인해서 2개이면 소수로, 2개 이상이면 소수가 아닌 걸로 판단해주면 되겠죠? ㅎㅎ

 

+) 참고로 위의 문제 풀이는 i를 2부터 num-1 까지 순회하며, 나누어 떨어지는 수가 없어야 소수인 것으로 판별하는 방식을 썼습니다. 똑같은 개념을 이용한 거죠 ㅎㅎ

 

 

수정할 부분이 발견되거나 궁금한 점이 있으면 댓글 남겨주세요.

성장을 위한 댓글은 환영입니다 :)

728x90