View Code of Problem 120

#include <algorithm>
#include <cmath>
#include <iostream>
#include <string>
#include <vector>
using namespace std;

bool isPrime(int num)
{
    if (num < 2)
        return false;
    if (num == 2 || num == 3)
        return true;
    for (int i = 2; i <= sqrt(num); i++)
    {
        if (num % i == 0)
            return false;
    }
    return true;
}

int main()
{
    int h[2], m[2];
    while (~scanf("%d:%d", h, m))
    {
        scanf("%d:%d", h + 1, m + 1);
        int hh, mm;
        hh = h[0];
        mm = m[0];
        int cnt = 0;
        int num;
        while (hh != h[1] || mm != m[1])
        {
            num = hh * 2500 + mm;
            if (isPrime(num))
                cnt++;
            mm++;
            hh += mm / 60;
            mm %= 60;
        }
        num = hh * 2500 + mm;
        if (isPrime(num))
            cnt++;
        cout << cnt << endl;
    }
    return 0;
}

Double click to view unformatted code.


Back to problem 120