先列表1~10000的質數
不知道為什麼line 1就錯了
#include <bits/stdc++.h>
using namespace std;
const int Max=10000+10;
int x[Max],a,b,ans;
int main()
{
for(int i=0;i<Max;i++) x[i]=0;
x[0]=x[1]=1;
for(int i=2;i<Max;i++){
if(x[i]==0){
for(int j=2;j*i<Max;j++) x[j*i]=1;
}
}
while(cin>>a>>b){
ans=0;
if(a)
for(int i=a;i<=b;i++){
if(i<Max){
if(x[i]==0){
ans++;
}
}else{
for(int j=2;j*j<i;j++){
if(x[j]==0){
if(i%j==0){
ans++;
break;
}
}
}
}
}
cout<<ans<<endl;
}
return 0;
}