View Code of Problem 119

#include<bits/stdc++.h>
using namespace std;
#define max 10000001
int num = 0,a[max];
bool jue[max] = {0};
void h();
int main(){
	h();
	int n,i = 0,j = num -1,mid,flag = 0,op = 1;
	while(cin>>n){
		if(n==1){
			flag = 1;
		}else{
		while(i<=j){
		mid = (i+j)/2;
		if(a[mid]==n){
			flag = 1;
			break;
		}else if(a[mid] > n){
			j = mid - 1;
		}else{
			i = mid + 1;
		}
	}
}
	if(flag == 1) printf("Case #%d: I'm richer than any one\n",op++);
	else printf("Case #%d: What a fxcking day\n",op++);
	
	
	i = 0,j = num-1;
	flag = 0;
	}
	
	
	return 0;
}
void h(){
	for(int i = 2;i < max;i++ ){
		if(jue[i] == false){
			a[num++] = i;	
			for(int j = i + i;j < max;j += i){
				jue[j] = true;
			}
		} 	
	}
}


Double click to view unformatted code.


Back to problem 119