康纳的表情包

Think:
昨天校赛 没做出 这题 真的是不应该啊TAT, 昨天思路很明确 知道是求 最大公约数, 但是 辗转相除法 gcd 忘了TAT , 这就很尴尬了TAT。。。。

看到别人 都AC了, 而自己却忘了 辗转相除法的 算法实现, 感觉自己好没用呀“哭泣中”。

Problem Description

UMR 现在手里有 n 张康纳的表情,最上面一张是玛吉呀巴库乃。现在 UMR 如果每次把最上面的 m 张牌移到最下面而不改变他们的顺序及朝向,那么至少经过多少次移动玛吉呀巴库乃才会又出现在最上面呢?

康纳的表情包_第1张图片
Input

多组输入。

每组输入以空格分隔的两个整数 n 和 m(题目中所提及的)。

1 <= n, m <= 10^9
Output

对于每组数据,输出一个整数,表示至少移动的次数。
Example Input

54 12

Example Output

9

#include
using namespace std;
int gcd(int m, int n)
{
    if (n == 0)
        return m;
    else
       return gcd(n, m % n);

}
int main()
{
    int m, n, key;
    while(cin >> m >> n)
    {
        key = gcd(m, n);
        cout << m / key << endl;
    }
}

你可能感兴趣的:(康纳的表情包)