#include <iostream>
#include <cmath>
using namespace std ;
int main() {
int a,b;
while(cin>>a>>b){
int sum=0;
for(int i=a; i<=b; i++){
int flag=1;
for(int j=2; j<=sqrt(i); j+=(j==2?1:2))
if(i%j==0) {flag=0; break;}
if(i!=1&&flag==1) sum++;
}
cout<<sum<<endl;
}
return 0;
}
可否問一下
j+=(j==2?1:2)
是甚麼意思
j 等於 2 的時候 j+=1
之後 j+=2
質數裡面只有 2 是偶數,其他都是奇數,所以跑到 3 的時候,之後都加 2 (應該是這個意思)