import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
While (true) {
int n = sc.nextInt();
// 반복문의 종료 조건
if (n == 0) {
break;
}
// 에라토스테네스의 체 : 제외시키기 1
boolean arr[] = new boolean[2 * n + 1]; // n < 소수 범위 <= 2n (인덱스는 0부터이므로 +1이 필요)
arr[0] = true; // 0, 1 소수가 아니므로 true를 준다
arr[1] = true;
// 에라토스테네스의 체 :제외시키기 2
for (int = 2; i <= Math.sqrt(2 * n + 1); i++) { // for문으로 판단할 숫자 모으기 : 소수는 2부터 시작 ~ 2 * n + 1 제곱근까지 (제곱근으로 정수가 되는 수는 소수가 X)
for (int j = i * i; j < 2 * n + 1; j += i) { // 각각의 숫자가 소수인지 판단하기 : i의 제곱부터 시작 ~ 2 * n + 1 까지 (제곱하면 소수가 X)
arr[j] = true;
}
}
// 구할 범위
int count = 0;
for (int i = n + 1; i < 2 * n + 1; i++) { // n보다 크고 < 소수 <= 2n 보다 작거나 같은 경우
if (arr[i] == false) {
coount++;
}
}
System.out.println(count);
}
}
}
scanner
'에라토스테네스의 체' 를 이용