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 "); } } } } 투케이2KJava 19. (java/자바) 알고리즘 : 소수구하기 - 이중 for문을 사용해 1부터 10까지 소수구하기투케이2K 2020. 12. 28. 18:23 /* =========================== */ [ 개발 환경 설정 ] 개발 툴 : Eclipse 개발 언어 : Java /* =========================== */ /* =========================== */ [소스 코드]
/* =========================== */ [결과 출력] [소수 구하기 - 이중 for문을 사용해 1부터 10까지 소수구하기] 1부터 10까지 소수 : [2, 3, 5, 7] /* =========================== */ /* =========================== */ [요약 설명] * 1. 소수란 ? 약수가 1과 자기 자신 뿐인 1보다 큰 자연수이다 * 2. 소수는 2부터 시작을한다 * 3. 부모 for문 i값 변수에 구하려는 소수 범위값을 지정한다 * 4. 자식 for문 k값을 사용해 부모i값과 나누기를 수행 후 정상적으로 0값으로 나누어 떨어질 경우 check 값을 증가시킨다 * 5. 소수는 1과 자기 자신만 나누어떨어져야하므로 부모 for문에서 나누어 떨어진 횟수가 1일 경우 소수로 판단한다 /* =========================== */ |