본문/내용
1. 소스코드
`);int n = scanner. nextInt(); if (n ` {System. out. println(`2보다 큰 숫자를 입력해야 한다. `);return;} boolean isPrime = new boolean[n + 1];for (int i = 2; i `= n; i++) {isPrime[i] = true; // 모든 수를 소수로 가정} for (int i = 2; i i `= n; i++) {if (isPrime[i]) {for (int j = i i; j `= n; j += i) {isPrime[j] = false; // i의 배수는 소수가 아님}}} int primeCount = 0;for (int i = 2; i `= n; i++) {if (isPrime[i]) {primeCount++; // 소수 개수 증가}} System. out. ` + primeCount);scanner. close();}}``` 위 코드를 살펴보면, 프로그램은 `Scanner`를 이용하여 사용자 입력을 받고, 입력이 2보다 작은 경우에는 적절한 메시지를 출력하고 종료된다. 그 후, 소수 판별을 위한 boolean 배열 `isPrime`을 생성하고, 2부터 입력된 숫자 `n`까지 모든 숫자를 true로 설정한다. 다음으로, 2부터 시작하여 `n`의 제곱근까지의 각 숫자에 대해 소수인지 체크하고, 그 소수의 배수들을 false로 설정한다. 마지막 단계에서는 다시 2부터 `n`까지의 숫자를 순회하면서 true인 경우를 세어 최종적인 소수의 개수를 출력하게 된다. 이와…