View Code of Problem 27

#include <iostream>
#include <vector>
using namespace std;
#define maxn 65536
bool isprime[maxn];
vector<int> prime;
typedef long long ll;
void init(){
	for(int i=0;i<maxn;i++){
		isprime[i] = true;
	}
	isprime[0] = false;
	isprime[1] = false;
	for(ll i=2;i<maxn;i++){
		if(!isprime[i]) {
			continue;
		}
		prime.push_back(i);
		for(ll j=i*i;j<maxn;j=j+i){
			isprime[j] = false;
		}
	}
}
int main(){
	
	ll a,b;
	init();
	if(a>b){
		swap(a,b);
	}
	while(cin>>a>>b){
		ll sum=0;
		for(ll i=0;i<prime.size()-1&&prime[i]<b;i++){
			if(prime[i]>a){
				sum += prime[i];
			}
		}
		cout<<sum<<endl;
	}
	
} 

Double click to view unformatted code.


Back to problem 27