#include<cstdio> #include<iostream> #include<algorithm> #include<cmath> #include<cstring> #include<vector> #include<map> #include<string> #include<set> using namespace std; bool isprime[65539]; vector<int>p; void prime() { memset(isprime,true,sizeof(isprime)); for(int i=2;i<=65536;i++) { if(isprime[i]==true) { p.push_back(i); for(int j=2;j*i<=65536;j++) { isprime[j*i]=false; } } } } int main(){ prime(); int a,b; while(cin>>a>>b) { if(a>b) swap(a,b); int p1=upper_bound(p.begin(),p.end(),a)-p.begin(); int p2=upper_bound(p.begin(),p.end(),b)-p.begin(); int sum=0; for(int i=p1;i<p2;i++) sum+=p[i]; if(p[p2-1]==b) sum-=b; cout<<sum<<endl; } return 0; } //202288087 |
Double click to view unformatted code.