UMR 现在手里有 n 张康纳的表情,最上面一张是玛吉呀巴库乃。现在 UMR 如果每次把最上面的 m 张牌移到最下面而不改变他们的顺序及朝向,那么至少经过多少次移动玛吉呀巴库乃才会又出现在最上面呢?
Input
多组输入。
每组输入以空格分隔的两个整数 n 和 m(题目中所提及的)。
1 <= n, m <= 10^9
Output
对于每组数据,输出一个整数,表示至少移动的次数。
Example Input
54 12
Example Output
9
#include <iostream>
#include <algorithm>
using namespace std;
long long gcd(long long n,long long m)
{
if(n < m)
swap(n, m);
if(n % m == 0)
return m;
else
return gcd(m,n%m);
}
int main()
{
long long n,m;
while(cin >> n >> m)
{
cout << n*m/gcd(n,m)/m << "\n";
}
return 0;
}