농담곰담곰이의곰담농

1978. 소수 찾기

by 브이담곰

https://www.acmicpc.net/problem/1978

 

 

 

✔ 유형 : 수학

✔ 문제 풀이: 소수의 특성과 두 수의 곱의 특성을 이용

 

소수의 정의

소수의 정의

소수 : 1과 자기 자신으로만 나누어지는 수

        : 약수가 2개인 수

 

합성수: 1과 자기 자신을 제외한 다른 약수를 가지고 있는 수

 

소수 판정법

소수 판정법

소수 = 1과 자기 자신으로만 나누어지는 수

        = 약수가 2개인 수

        = 2부터 N - 1 까지의 수로 나누어지지 않는 수

 

⬇️ 코드로 풀어보면 다음과 같다.

def isprime(int n)
   if n == 1 : return 0
   for i in range(2, n)
   	if n % i == 0 : return 0
    
   return 1

 

합성수 N에서 1을 제외한 가장 작은 약수는 √N 이하이다. 

N = 18 : 2 ≤ √18 , N = 25 : 5 ≤ √25, N = 21 : 3 ≤ √21

 

<증명>

합성수 N에서 1을 제외한 가장 작은 약수를 X라 하자.
N / X는 1이 아닌 약수이므로 X ≤ N/X
우변의 분모를 좌변으로 옮기면 X^2 ≤ N

 

 

✨ 2부터 √N까지의 수로 나누어지지 않는 수

def isprime(int n)
   if n == 1 : return 0
   for i in range(2, n)
    if( i * i > n ) break
   	if n % i == 0 : return 0
    
   return 1

'Coding Test > Baekjoon' 카테고리의 다른 글

1914. 하노이 탑  (0) 2024.07.06
9020. 골드바흐의 추측  (0) 2024.07.06
2559. 수열  (0) 2023.11.22
9996. 한국이 그리울 땐 서버에 접속하지  (0) 2023.11.22
11655.ROT13  (1) 2023.11.21

블로그의 정보

농담곰담곰이의곰담농

브이담곰

활동하기