반응형

[쉽게 배우는 자바 프로그래밍] 

Chapter 03. 제어문과 메서드

프로그래밍 문제 


10. 다음은 주어진 정수가 소수(Prime)인지를 조사하는 프로그램의 일부이다. isPrime()메서드를 완성하시오. 

(여기서 소수는 1보다 크면서 1과 자신 외에는 나누어지지 않는 수이다.) 

 

1
2
3
4
5
6
7
8
9
public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.out.print("양의 정수를 입력하세요 : ");
        int num = new Scanner(System.in).nextInt();
        if (isPrime(num))
            System.out.println(num + "는 소수입니다.");
        else 
            System.out.println(num + "는 소수가 아닙니다.");
    }



1)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.out.print("양의 정수를 입력하세요 : ");
        int num = new Scanner(System.in).nextInt();
        if (isPrime(num))
            System.out.println(num + "는 소수입니다.");
        else 
            System.out.println(num + "는 소수가 아닙니다.");
    }
 
    private static boolean isPrime(int num) {
        // TODO Auto-generated method stub    
        if (num == 1)
            return false;
        
        for (int i = 2; i < num; i++) {
            if (num % i == 0)
                return false;
        }
        return true;
    }



2)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
public static void main(String[] args) {
        // TODO Auto-generated method stub
        System.out.print("양의 정수를 입력하세요 : ");
        int num = new Scanner(System.in).nextInt();
        if (isPrime(num))
            System.out.println(num + "는 소수입니다.");
        else
            System.out.println(num + "는 소수가 아닙니다.");
    }
 
    private static boolean isPrime(int num) {
        // TODO Auto-generated method stub
        if (num == 2 || num == 3) {
            return true;
        }
        for (int i = 2; i < num; i++) {
            if ((num == (6 * i - 1)) || (num == (6 * i + 1))) {
                return true;
            }
        }
        return false;
    }



반응형