미소를뿌리는감자의 코딩

[백준 2024/09/07] 1978번 소수 찾기 본문

코딩 테스트/백준

[백준 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