View Code of Problem 120

#include<bits/stdc++.h>
using namespace std;
const int MAXX=40000;
bool ivi[MAXX];
void func(){
		ivi[1]=1;
		for(int i=2;i<MAXX;i++){
			if(!ivi[i]){
				for(int j=i*i;j<=MAXX;j+=i){
					ivi[j]=1;
				}
			}
		}		
}
int main(){
	memset(ivi,0,sizeof(ivi));
	int hour1,min1,hour2,min2;
	while(scanf("%02d:%02d",&hour1,&min1) && scanf("%02d:%02d",&hour2,&min2)!=EOF){
		func();
		int count=0;
		//cout<<hour1<<' '<<min1<<endl;
		//cout<<hour2<<' '<<min2<<endl; 
		while(true){
			if(hour1==hour2 && min1>min2){
				break;
			}
			else{
				int num=hour1*2500+min1;
				//cout<<num<<endl;
				//cout<<ivi[num]<<endl;
				if(!ivi[num]){
					count++;
				}
				min1++;
				if(min1>60){
					min1==1;
					hour1++;
				}
			}
		}
		cout<<count<<endl;
	}
}

Double click to view unformatted code.


Back to problem 120