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