Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
vitaliypro
1 / 1 / 0
Регистрация: 09.09.2013
Сообщений: 125
#1

алгоритм евклида - C++

30.09.2013, 23:54. Просмотров 685. Ответов 4
Метки нет (Все метки)

не могу выкупить ничего что происходит и как решить.
вот мое задание : : : : Даны натуральные а и b, не равные 0 одновременно. Найти d = НОД (a,b) и такие целые x и y, что d = a/x + b*y.



Вот вариант решения подобной задачи:
Даны натуральные а и b, не равные 0 одновременно. Найти d = НОД (a,b) и такие целые x и y, что d = a*x + b*y.

КОД ПРОГРАММЫ:
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
#include <iostream>
 
using namespace std;
int x=1,y=0,d;
void euclid(int a, int b)
{
    int t;
    if (!b) // в случае, если b = 0, полагаем, что x = 1, y = 0;
    {
        d = a; x = 1; y = 0;
        return;
    }
    euclid(b, a%b); // рекурсивно вызываем функцию от b и остатка их деления
    t = y;
    y = x - (a/b) * y;
    x = t;
}
 
int main()
{
    int a,b;
    setlocale(LC_ALL,"rus");
    cout<<"Введите числа A и B"<<endl;
    cin>>a>>b;
    euclid(a,b);
    cout<<"НОД = "<<d<<endl;
    cout<<"Коэффициентами Безу будут x = "<<x<<" и y = "<<y<<endl;
    return 0;
} 


что и как надо изменить, подскажите плииииззз!!!!

Добавлено через 2 часа 0 минут
upup
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
30.09.2013, 23:54
Здравствуйте! Я подобрал для вас темы с ответами на вопрос алгоритм евклида (C++):

Алгоритм Евклида - C++
Здравствуйте! Подскажите пожалуйста какие ошибки есть в алгоритме, который я составил? int gcd (int a, int b) { int t; if...

Алгоритм Евклида - C++
Привет всем. Задача такова, надо написать программу на С++ для поиска Самого Малого Кратного (СМК) по алгоритму Евклида. Дано три...

Расширенный алгоритм Евклида - C++
Дело движется к реализации RSA, но уже на этом этапе возникли проблемы. Дело в том что у меня большие числа реализованы на массивах (под...

Необычный алгоритм Евклида - C++
Помогите,пожалуйста!Написал програму,не могу найти ,где в ней ошбка.Условие:дано натуральное число n ичислаа1,а2,а3,...,аn,которые вводятся...

Расширенный алгоритм Евклида - C++
Здравствуйте, форумчане! Подскажите пожалуйста как реализовать такое задание(код самого алгоритма Евклида прилагается): Программа должна...

Визуализировать алгоритм Евклида - C++
Визуализировать алгоритм эвклида

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Anton998
0 / 0 / 0
Регистрация: 16.04.2013
Сообщений: 7
01.10.2013, 00:29 #2
Попробуй найти все х, кратные а, и для каждого значения х попытайся найти у.
vitaliypro
1 / 1 / 0
Регистрация: 09.09.2013
Сообщений: 125
01.10.2013, 00:38  [ТС] #3
это как?
Rifle
26 / 26 / 5
Регистрация: 15.11.2012
Сообщений: 93
Завершенные тесты: 4
01.10.2013, 08:58 #4
Не знаю, в чем фишка этого задания, но вот:
Кликните здесь для просмотра всего текста
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
#include <iostream>
using std::cout;
using std::endl;
using std::cin;
 
 
int EuclidAlgorithm(int a, int b);
 
int main()
    {
    setlocale(LC_ALL,"rus");
    int a, b;
    cout << "Введите два числа: ";
    cin >> a >> b;
    if (b > a)
        {
        int temp = a;
        a = b;
        b = temp;
        }
    int d = EuclidAlgorithm(a, b);
    cout << "НОД = " << d << endl;
    cout << EuclidAlgorithm(a, b) << " = " << a << "/x + " << b << "*y, тогда x = " << a/d << " и y = " << 0 << endl;
    
    return 0;
    }
    
int EuclidAlgorithm(int a, int b)
    {
    if (!b)
        return a;
    else
        EuclidAlgorithm(b, a%b);
    }
vitaliypro
1 / 1 / 0
Регистрация: 09.09.2013
Сообщений: 125
01.10.2013, 10:08  [ТС] #5
тоже не знаю в чем фишка, но спасибо)
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.10.2013, 10:08
Привет! Вот еще темы с ответами:

Алгоритм Евклида с использованием рекурсии - C++
Моя реализация алгоритма Евклида с использованием рекурсивной функции. //Program finds greatest common divisor of two natural numbers....

Реализовать обобщенный алгоритм Евклида - C++
Ребят,необходимо реализовать обобщенный алгоритм Евклида. Заранее благодарен! Добавлено через 3 минуты желательно с...

Алгоритм Евклида. Переведите с Паскаля на С++ - C++
begin g 0 : = b; g 1 : = a; i : = 1 while g i ! = 0 do begin ...

Алгоритм Евклида + системы счисления - C++
Доброго времени суток! На С++ работаю пару недель, до этого несколько месяцев на Фортране. Была предложена такя задача: Найдите...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
01.10.2013, 10:08
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru