👨‍💻Programming/JAVA & C언어 예제

(JAVA)자바 배열 예제2 - 배열과 for문을 사용하여 소수 구하기

코너(Corner) 2020. 10. 29.
반응형

문제는 아래와 같다.

 /* 

         * 5개의 요소를 가진 배열 (자연수 범위 )

         * 소수 -> O , X 

         * 소수면 O , 아니면 X

         * [ 2 3 4 5 6 ]

         * [ O O X O X ]

         */

소수를 구하는 예제문 -

결과

소수는 1과 자기자신으로만 나누어지는 숫자를 말한다.

작은 정수를 곱해서 만들어지는 수는 소수가 아니므로 X를 표시

 

 

 

 

소스 코드는 아래와 같다.

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
package array_exam2;
 
import java.util.Arrays;
import java.util.Scanner;
 
public class array_exam3 {
 
    public static void main(String[] args) {
        Scanner sc = new Scanner (System.in);        
        /* 
         * 5개의 요소를 가진 배열 (자연수 범위 )
         * 소수 -> O , X 
         * 소수면 O , 아니면 X
         * [ 2 3 4 5 6 ]
         * [ O O X O X ]
         */
        System.out.println("5개 요소를 입력하세요 : ");
        int [] arr = new int [5];
        for (int i = 0; i < 5; i++ ) {
            arr[i] = sc.nextInt(); 
        }
        System.out.println("배열 입력 완료 ");
        System.out.println(Arrays.toString(arr));
        for (int a = 0; a < 5 ; a++ ) {
            int cnt = 0;
            for (int i = 1; i < arr[a]; i++ ) {
                if(arr[a] % i == 0 ) {
                    cnt++// 나머지가 0이면 소수가 아니다.
                } 
            }
            if ( cnt == 1 ) { // 소수는 1과 자기 자신만 나눌 수 있다. 
                System.out.print(" O "); // 그러므로 o 
            } else {
                System.out.print(" X ");
            }
        }
    }
 
}
 
 
cs
반응형

댓글