如何在c#中编写欧几里得算法中发生的所有过程来查找GCD

本文关键字:算法 过程 GCD 查找 几里 | 更新日期: 2023-09-27 18:16:18

我有这个

public int GCD(int a, int b)
{
    while (a != 0 && b != 0)
    {
        if (a > b)
            a %= b;
        else
            b %= a;
    }
    if (a == 0)
        return b;
    else
        return a;
}

但是我想要所有的过程,比如892=2*438+16然后438=27*16+6等等

如何在c#中编写欧几里得算法中发生的所有过程来查找GCD

也许您想添加这样的内容:

Console.WriteLine("{0}={1}*{2}+{3}",a,a/b,b,a%b)

a %= b;之前,同理,abb %= a;之前交换