View Code of Problem 103

#include<bits/stdc++.h>
using namespace std;

long long a[1000005];
long long ans[1000005];
void feibo(){
	ans[1]=0;
	for(long long i=1;i<1000005;i++){
		a[i]=1;
	}
	for(long long i=2;i<1000005;i++){
		if(a[i]==1){
			for(long long j=i*i;j<1000005;j+=i){
				a[j]=0;
			}
			ans[i]=ans[i-1]+1;
		}else{
			ans[i]=ans[i-1];
		}
	}
}

int main() {

	long long c,b;
	feibo();
	while(cin>>c>>b){
		cout<<ans[b]-ans[c-1]<<endl;
	}

	return 0;
}

Double click to view unformatted code.


Back to problem 103