View Code of Problem 120

#include<bits/stdc++.h>
using namespace std;
bool isprime(int n) {
	if (n < 2)
		return false;
	else {
		for (int i = 2; i <= n / i; i++)
			if (n % i == 0)
				return false;
		return true;
	}
}
int main() {
	string s1, s2;
	while (cin >> s1 >> s2) {
		int h1 = (s1[0] - '0') * 10 + s1[1] - '0';//p表示小时数  ,q表示分钟数。
		int m1 = (s1[3] - '0') * 10 + s1[4] - '0';
		
		int h2 = (s2[0] - '0') * 10 + s2[1] - '0';
		int m2 = (s2[3] - '0') * 10 + s2[4] - '0';
		int sum = 0;
		if (h1 == h2) {
			for (int j = m1; j <= m2; j++) {
				if (isprime(h1 * 2500 + j))
					sum++;
			}
		} else {
			
			for (int j = m1; j <= 59; j++)
				if (isprime(h1 * 2500 + j))
					sum++;
			for (int i = h1 + 1; i < h2; i++)
				for (int j = 0; j <= 59; j++) {
					if (isprime(i * 2500 + j))
						sum++;
				}
			for (int j = 0; j <=m2 ; j++)
				if (isprime(h2 * 2500 + j))
					sum++;
		}
		cout<<sum<<endl;
	}
}

Double click to view unformatted code.


Back to problem 120