백준 4143번(소수 찾기)

김경욱·2025년 8월 17일

백준

목록 보기
47/121

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.*;

public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

    long N = Long.parseLong(br.readLine());
    StringBuilder sb = new StringBuilder();


    for (int i = 0; i < N; i++) {

        long k = Long.parseLong(br.readLine()); // k = 7;

       while(!isPrime(k))
       {
           k++;
       }
       sb.append(k).append("\n");
       

    }
    System.out.println(sb);


}

private static boolean isPrime(long num) {
    if (num < 2) {
        return false;
    }
    if (num == 2) {
        return true;
    }
    if (num % 2 == 0) {
        return false;
    }

    for (long i = 3; i * i <= num; i += 2) {
        if (num % i == 0) {
            return false;
        }
    }

    return true;


}

} 소수를 구하는 isPrime()메서드를 외우는게 좋을 것 같다고 느꼈다. 소수를 구하는 메서드는 상당히 많이 사용하는 것 같다. 또한 while문을 이용하여 계속 반복하여 값을 증가시키는 것도 인상깊었다. 메서드를 이해하는게 힘들었고 아직 많이 부족한 것 같다. 복습이 제일 중요한 것 같다!!
PS. 오늘은 통영 여행 1일차이다. 현재 통영숙소 침대 위에서 문제를 풀고 있다. 2025.8.17 (14:29)

0개의 댓글