본문 바로가기

Algorithm/CodeUp

[CodeUp_Java] Q1274 : 소수 판별

반응형

안녕하세요! Plitche(플리체)입니다.
이번 포스팅의 주제는 Q1274 : 소수 판별 (자바, JAVA)입니다.

Intro

Question

문제 설명

입력

2이상의 자연수가 입력으로 주어진다.

출력

입력으로 주어진 수가 소수이면 "prime"을 출력, 소수가 아니면 "not prime"을 출력한다.

예시

  • 입력 : 7
  • 출력 : prime

Solution (풀이)

  • 풀이 : 메모리 11292, 시간 108
public class Answer1 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(br.readLine());

        // 먼저 소수라고 초기화 선언
        boolean isPrime = true;

        // n/2까지 for문 반복 => 약수는 1을 제외하고는 2가 최소 약수
        // 2부터 시작해야 한다. (1은 모든 자연수의 약수임으로, 1의 경우는 제외한다.)
        for (int i=2; i<=n/2; i++) {
            if (n%i==0) {    // 1과 본인을 제외하고 약수가 있으면 소수가 아니다.
                isPrime = false;
                break;
            }
        }

        System.out.println(isPrime ? "prime" : "not prime");
        br.close();
    }
}

Ranking(순위)

반응형