PKU : 3978 - Primes
解法
エラトステネスで素数列挙してあとはやるだけ.
プログラム
bool p[100010]; int main(void){ rep(i,100010) p[i] = true; p[0] = p[1] = false; for(int i=2;i<100010;i++){ if(p[i]){ for(int j=i+i;j<100010;j+=i){ p[j] = false; } } } int a,b; while(scanf("%d%d",&a,&b),a!=-1||b!=-1){ int ans = 0; REP(i,a,b+1) ans += p[i]; printf("%d\n",ans); } }