天天看點

NYOJ--993 How many integers can you find

How many integers can you find

1000 ms  |  記憶體限制:

65535

1

輸入包含多組測試資料,每組資料占一行。

0<n<2^31,0<m1,m2<=10。

輸出

每組資料輸出占一行。

樣例輸入

12 2 3

樣例輸出

7

#include <iostream>
using std::endl;
using std::cout;
using std::cin;
//歐幾裡得求最大公約數
int gcd(int a, int b)
{
    if (a % b == 0)
    {
        return b;
    }
    else
    {
        return gcd(b, a % b);
    }
}
int main()
{
    int n,m1, m2;
    while (cin >> n >> m1 >> m2)
    {
        if (m1 != m2)
            cout << (n-1)/m1+(n-1)/m2-(n-1)/((m1*m2)/gcd(m1,m2))<< endl;
        else
            cout << (n-1)/m1 << endl;
    }
    return 0;
}      

繼續閱讀