t272624丢石子游戏

李老师给小亮和小红出了一个游戏:现在给小红 a个石子和小亮 b 个石子。

每次只有石子较多(石子数大于或等于另一人的石子数)的人才能丢弃石子,丢弃一次石子记为操作一次。

丢石子的人必须丢掉和当前对方手中石子数个数相同的石子。

求出最小操作数 res ,使得其中任意一人手中没有石子。

输入格式
第一行输入两个正整数 a,b,分别表示小红和小亮手中的石子数。

输出格式
一行,输出小红和小亮其中一个人手中石子为 0的最小的操作次数 res。

输入输出样例
输入 #1复制
3 6
输出 #1复制
2
说明/提示
对于样例一,一开始小红有 3 个石子,小亮有 6个石子。

第一次小亮丢 3 个,第二次小亮丢 3 个,此时小亮手上没有石子了,游戏结束。

输出最小操作数:2

#include <iostream>

int main()
{
    int a, b, res = 0;
    std::cin >> a >> b;
    do
    {
        if (a < b)
            std::swap(a, b);
        a -= b;
        res++;

    } while (a);
    std::cout << res << '\n';
    return 0;
}