// 셋팅
int[] arr = new int [99];
for(int i = 0 ; i < arr.length ; i++) {
arr[i] = (i + 2); // 2~100까지 배열에 넣어놨다
}
// 알고리즘
for(int i = 0 ; i < arr.length ; i++) { // i = 0, arr[0] -> 2
if(arr[i] != 0) {
System.out.println(arr[i] + "는 소수");
for(int x = i+1 ; x < arr.length ; x++) { // x = 1~98
if(arr[x] != 0 && arr[x] % arr[i] == 0) {
arr[x] = 0;
}
}
}
System.out.println(arr[i]);
}
// 1. arr[x] % arr[i] == 0
// 소수 바로 옆자리가 소수로 나뉘어 떨어지면 0으로 만드는 매커니즘
// 2. arr[x] != 0 &&
// 이거는 2의 배수 (6)이미 0이됐는데, 한번 더 도는건 낭비니까... (없어도 결과는 잘나오긴함)
'JAVA > DAY 08 _ 23.08.28' 카테고리의 다른 글
Sorting Algoritm (0) | 2023.09.10 |
---|---|
foreach (0) | 2023.09.10 |
문자열 비교 (0) | 2023.09.04 |
참조 주소 (0) | 2023.09.04 |
이중배열2 (0) | 2023.09.04 |