Реализации алгоритмов/Расширенный алгоритм Евклида: различия между версиями

Содержимое удалено Содержимое добавлено
Новая страница: «'''Расширенный алгоритм Евклида''' вычисляет НОД двух задан…»
(нет различий)

Версия от 13:45, 14 июня 2016

Расширенный алгоритм Евклида вычисляет НОД двух заданных целых чисел и их коэффициенты Безу.

На языке Си

include <stdio.h>
int main(){
    int a, b, p=1, q=0, r=0, s=1, x, y;
    scanf("%d %d",&a,&b);
    while (a && b) {
        if (a>=b) {
            a = a - b; 
            p = p - r; 
            q = q - s; 
        } else
        {
            b = b - a; 
            r = r - p; 
            s = s - q; 
        }
    }
    if (a) {
        x = p;
        y = q;
    }else
    {
        x = r;
        y = s;
    }
    printf("%d %d\n",x,y);
    return 0;
}