알고리즘/[코드업] 기초4-1. 단순 반복문

[JAVA] CodeUp 1274 : 소수 판별

Art Rudy
반응형

https://codeup.kr/problem.php?id=1274 

 

소수 판별

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

codeup.kr

문제 분류 : 기초4-1. 단순 반복문

문제 설명

소수란, 약수가 1과 자기 자신 두 개 뿐인 수를 말한다.

어떤 수가 입력되면 그 수가 소수인지 판단하시오.

예)

2     ====> 소수 (왜냐하면 약수가 1 과 자기자신 2밖에 없기때문..)

3     ====> 소수 (왜냐하면 약수가 1 과 자기자신 3밖에 없기때문..)

4     ====> 소수가 아님 (왜냐하면 약수가 1 , 2 , 4 이기 때문..)

10     ====> 소수가 아님 (왜냐하면 약수가 1 , 2 , 5 , 10 이기 때문..)

11     ====> 소수 (왜냐하면 약수가 1 과 자기자신 11밖에 없기때문..)

입력

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

출력

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

입력 예시

7

출력 예시

prime

도움말

 

 

내 답안

import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;

public class Main {

  public static void main(String[] args) throws IOException {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

    int a = Integer.parseInt(br.readLine());
    int i = 2;

    boolean flag = false;

    while(i<a) {
      if(a%i==0) {
        flag = true;
        break;
      }
      i++;
    }

    if(flag) {
      bw.write("not prime");
    }else {
      bw.write("prime");
    }

    bw.flush();
    bw.close();
    br.close();
  }
}
반응형