Strona 1 z 1

C++ Rozszerzony algorytm Euklidesa

: 11 cze 2023, o 08:36
autor: Mariusz M
Na podstawie filmiku użytkownika memberlist.php?mode=viewprofile&u=87320
napisałem poniższą funkcję

Kod: Zaznacz cały

int gcdex(int a,int b, int &x,int &y){
    int xa = 1, ya = 0, xb = 0, yb=1;
    int a0 = a, b0 = b;
     int q;
    while(a0 != 0 && b0 != 0)  
   {
            if(abs(a0) > abs(b0))
            {
                  q = a0/b0;
                   a0 %= b0;
                   xa -= q*xb;
                   ya -= q*yb;
            }
            else
            {
                   q = b0/a0;
                   b0 %= a0;
                    xb -= q*xa;
                    yb -= q*ya;
            }
   } 
if(b0 == 0)
{
     x = xa;
     y = ya;
}
else
{
    x = xb;
    y = yb;
}
if(a*x+b*y < 0)
{
     x = -x;
     y = -y;
}
return a*x+b*y;
}
I chyba powinna ona działać poprawnie nawet dla liczb ujemnych
Przeanalizujmy ten kod razem

Re: C++ Rozszerzony algorytm Euklidesa

: 16 sie 2023, o 09:02
autor: sylvi91
Cześć. Podaj link do filmiku, o którym wspomniałeś, bo tak bez kontekstu to nie wiem praktycznie nic. Jaki jest Twój cel przy omawianiu tego zagadnienia?

Re: C++ Rozszerzony algorytm Euklidesa

: 16 sie 2023, o 20:34
autor: Mariusz M
Sylvi to był ten filmik

Kod: Zaznacz cały

https://www.youtube.com/watch?v=x12La1oBKhM