- 2부터 시작
- 2부터 시작했을 시 ch[2] == 0 이고 2는 소수이므로 answer++
- answer를 더한 후 for문을 한번 더 돌리는데 도는 주기를 i를 더하여 i의 배수로 돌게 만들어준다
- 이 배수들은 소수가 아니므로 값을 1로 바꾼다
int num = 20;
int answer = 0;
int[] ch = new int[num+1];
for (int i=2; i<=num; i++){
if (ch[i] == 0){
answer++;
for (int j=i; j<=num; j=j+i){
ch[j] = 1;
}
}
}
'(자바) 코테' 카테고리의 다른 글
JAVA 해당 숫자가 소수인지 아닌지 판단 (0) | 2023.04.07 |
---|---|
JAVA 숫자 배열 값뒤집기 ( [123,456] -> [321,654] ) (0) | 2023.04.06 |
JAVA 문자열 끊기 (substring) (0) | 2023.04.04 |
JAVA 문자열 압축하기 (0) | 2023.04.04 |
JAVA 문자 간 최소 거리구하기 (0) | 2023.04.04 |
댓글