#include<stdio.h> #define max 1000010 int a[max] = {}; int main() { int sum = 0; for (int i = 2; i < max; i++) { if (a[i] == 0) { sum++; a[i] = sum; for (int j = i * 2; j < max; j=j+i) { a[j] = -1; } } else a[i] = sum; } int m, n; while (scanf("%d%d", &m, &n) != EOF) { if (a[m] > a[m - 1]) { printf("%d\n", a[n] - a[m]+1); } else { printf("%d\n", a[n] - a[m]); } } return 0; } |
Double click to view unformatted code.