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

Расширенный алгоритм Евклида - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Класс дельта http://www.cyberforum.ru/cpp-beginners/thread1105627.html
Создать класс дельта таким образом что бы каждый объект имел свой персональный номер (дескриптор объекта) и функцию которая возвращает его значение Добавлено через 21 час 18 минут #include...
C++ Дано пятизначное натурально число. Если последняя цифра больше первой то их нужно поменять местами Помогите дополнить задачу.Дано пятизначное натурально число. Если последняя цифра больше первой то их нужно поменять местами. #include <stdio.h> #include <conio.h> main() } unsigned long int... http://www.cyberforum.ru/cpp-beginners/thread1105625.html
C++ Как внести класс в пространство имён
Есть задача, которую решил, там надо было поработать в пространстве имён. В следующей необходимо было это всё переделать под класс, находящийся в пространстве имён. 2 файла сделал, а с...
Как с помощью cin ввести нуль терминированную строку? C++
Как с помощью cin ввести "законченную" строчку, имеется в виду символ ноль. таким образов не вводится. какие есть варианты? cin >> ptr1; ptr1 = '\0';
C++ Замена подстроки в строке http://www.cyberforum.ru/cpp-beginners/thread1105582.html
Так как не нашел алгоритм стемминга для C++, то пришлось что-то придумывать самому. Так вот есть такой код int i; for(i = 0; i < ini.getUniSize(); ++i) // getUniSize() - извлекаем размер массива...
C++ Выход из лабиринта. Убрать повторяющиеся шаги Доброго времени суток! Прошу помощи Есть программа выход из лабиринта. Там в переменную r записывается текущий шаг. Получается маршрут прописан по самой матрице. Не могу домыслить как... подробнее

Показать сообщение отдельно
yurets17
1 / 1 / 0
Регистрация: 07.10.2013
Сообщений: 170

Расширенный алгоритм Евклида - C++

26.02.2014, 00:00. Просмотров 7007. Ответов 15
Метки (Все метки)

Здравствуйте, форумчане! Подскажите пожалуйста как реализовать такое задание(код самого алгоритма Евклида прилагается): Программа должна предусматривать ввод исходных данных: двух неотрицательных чисел, модуля и выдачу результата: обратной величины по модулю.
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
#include <iostream>
#include <cmath>
using namespace std;
 
int ext_gcd(int a, int b, int& x, int& y){
   int q, r, x1, x2, y1, y2,d;
   if (b == 0) {
      d = a, x = 1, y = 0;
      return d;
   }
   x2 = 1, x1 = 0, y2 = 0, y1 = 1;
   while (b > 0) {
      q = a / b, r = a - q * b;
      x = x2 - q * x1, y = y2 - q * y1;
      a = b, b = r;
      x2 = x1, x1 = x, y2 = y1, y1 = y;
   }
   d = a, x = x2, y = y2;
   return fabs(d);
}
 
int main(){
 
        int a, b, x, y;
        char flag='y';
        cout << "Eta programma nahod NOD\n";
        while(flag=='y'||flag == 'Y'){
                cout << "Vvedite dannie\na = ";
                cin >> a;
                cout <<"b = ";
                cin >> b;
                cout << "NOD(" << a << "," << b << ")=" <<ext_gcd(a,b,x,y) << " (rashirenniy algoritm Evklida)"<<endl;
                cout << "Najmite [y] dlya povtora\n";
                cin >> flag;
        }
        return 0;
}
Добавлено через 1 минуту
насколько я понимаю, то мы должны каким-то образом возвращать х и у
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru