Форум программистов, компьютерный форум, киберфорум
C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 09.04.2023
Сообщений: 40

Реализация расширенного алгоритма Евклида

15.09.2024, 12:24. Показов 2273. Ответов 0

Студворк — интернет-сервис помощи студентам
Есть код программы, реализующий нахождение НОД для чисел a и b, а также высчитывающий коэффициенты x и y для соотношения Безу. Вопросы касаются значений некоторых переменных и принципа работы цикла.
1) Почему переменным x , y , lastx , lasty, присваиваются именно такие значения?
2) Как работает цикл для соотношения Безу? Я знаю алгоритм, как считать коэффициенты - постепенно выражать НОД через остатки от деления, но не уверен, что здесь реализован он. Хотелось бы разобраться с частью цикла, связанной с переменными temp2 и temp3.

Код программы:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#include <iostream>
 
using namespace std;
 
main ()
{
    int a,b,q,x,lastx,y,lasty,temp,temp1,temp2,temp3;
    cout << "Input a" << endl;
    cin >> a; 
    cout << "Input b" << endl;
    cin >> b;
    if (b>a) {                             //we switch them
        temp=a; a=b; b=temp;
             }
    //begin function
    x=0;
    y=1;
    lastx=1;
    lasty=0;
    while (b!=0) 
    {
        q = a/b;
        temp1 = a%b;
        a = b;
        b = temp1;
 
        temp2 = x;
        x = lastx-q*x;
        lastx = temp2;
 
        temp3 = y;
        y = lasty-q*y;
        lasty = temp3;
    }
 
    cout << "gcd = " << a << endl;
    cout << "x = " << lastx << endl;
    cout << "y = " << lasty << endl;
    return 0;
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
15.09.2024, 12:24
Ответы с готовыми решениями:

Реализация расширенного класса Integer
Всем привет. Хочу реализовать аналог класса Integer в котором можно буде проводить операции с числами любой разрядности. Начал пока с...

Реализация расширенного функционала класа TreeNode
Доброго времени суток, не могу определиться с архитектурой классов и как их реализовать. Есть базовый класс TreeNode. #pragma...

Алгоритм Евклида, показать время выполнения алгоритма
Есть такой код: #include &lt;stdio.h&gt; #include &lt;stdlib.h&gt; #include &lt;time.h&gt; #define N1 386 #define N2 381 #define...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
15.09.2024, 12:24
Помогаю со студенческими работами здесь

Написать вариант алгоритма Евклида, использующий соотношения НОД
Здравствуйте! Задача состоит в том, чтобы &quot;Написать вариант алгоритма Евклида, использующий соотношения НОД(2a, 2b) = 2•НОД(a,b), НОД(2a,b)...

Есть ли в этой программ алгоритма Евклида использование рекурсии?
#include &lt;iostream&gt; using namespace std; int GCD(int number1, int number2); //------------------ int main() { int numb1,...

Составить программу для деления дроби на дробь (+ подпрограмма алгоритма Евклида)
Прошу помощи с решением данного задания, к сожалению не дружу с языками C и C++ Даны две дроби A/B и C/D (А, В, С, D — натуральные...

программу, которая находит и выводит на экран их наибольший общий делитель с алгоритма Евклида
Ребята на форуме есть ответ на этот раздел?

Нужно найти наибольший общий делитель двух чисел использованием алгоритма Евклида
Дано натуральние числа a, b, c. Получить наибольший общий делитель этих чисел. Для определения НОД двух чисел использовать алгоритм...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Очистка реквизитов документа при копировании
Maks 09.04.2026
Алгоритм из решения ниже применим как для типовых, так и для нетиповых документов на самых различных конфигурациях. Задача: при копировании документа очищать определенные реквизиты и табличную. . .
модель ЗдравоСохранения 8. Подготовка к разному выполнению заданий
anaschu 08.04.2026
https:/ / github. com/ shumilovas/ med2. git main ветка * содержимое блока дэлэй из старой модели теперь внутри зайца новой модели 8ATzM_2aurI
Блокировка документа от изменений, если он открыт у другого пользователя
Maks 08.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в конфигурации КА2. Задача: запретить редактирование документа, если он открыт у другого пользователя. / / . . .
Система безопасности+живучести для сервера-слоя интернета (сети). Двойная привязка.
Hrethgir 08.04.2026
Далее были размышления о системе безопасности. Сообщения с наклонным текстом - мои. А как нам будет можно проверить, что ссылка наша, а не подделана хулиганами, которая выбросит на другую ветку и. . .
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru