코딩 테스트/백준
[백준 2024/09/07] 1978번 소수 찾기
미뿌감
2024. 9. 7. 10:26
728x90
1. 문제
https://www.acmicpc.net/problem/1978
2. 접근 방법
어렴풋이 기억하기로, 소수의 경우 루트를 씌운 값까지 나누어 보고, 나누어 떨어지지 않는다면 소수인 것으로 판별될 수 있음이 기억났다.
따라서 이를 적용해 보는 코드를 작성하였다.
또한 루트를 씌우기에, 나머지가 생기기 마련이다. 따라서 이를 int()로 감싸서, 나머지를 절삭해 주었다.
또한 +1을 해주어 절삭될 수 있는 값에 대한 처리도 포함하도록 하였다.
- '에라토스테네스의 체' 라는 개념이었다.
3. 코드
import math
def find_decimal(n):
if n == 1:
return 0
for i in range(2, int(math.sqrt(n)) + 1):
if n % i == 0:
return 0
return 1
def find_decimals(n):
total_decimal = 0
arr = map(int, input().split())
for a in arr:
total_decimal += find_decimal(a)
return total_decimal
if __name__ == "__main__":
print(find_decimals(int(input())))
728x90