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

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

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

Нахождение наибольшего общего делителя - почему выводит неверный итог? - C++

11.05.2014, 11:17. Просмотров 216. Ответов 2
Метки нет (Все метки)

Всем привет, что-то не могу понять Очень прошу помочь!
i
C++
1
2
3
4
5
6
7
8
9
nt  a, b;
cin >> a >> b;
while (b != 0) {
a %= b;
swap(a, b);
}
cout << a;
_getch();
return 0;
Вот код, это на нахождение наибольшего общего делителя
Только вот не понимаю как получается итог, например вводим 15 и 4, затем делим с остатком и остаток получается 3 затем остаток это переменная "a" мы меняем местами с переменной "b" и на выход идет 1, почему идет 1, а не 4? Ведь мы их поменяли местами и получилось 4 и 3..никак не доходит до меня.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
11.05.2014, 11:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Нахождение наибольшего общего делителя - почему выводит неверный итог? (C++):

Нахождение наибольшего общего делителя и наименьшего общего кратного двух натуральных - C++
Составить программу для нахождения наибольшего общего делителя и наименьшего общего кратного двух натуральных чисел (НОК(А,В)= А*В/ НОД...

Нахождение наибольшего общего делителя - C++
Borland C++ Найти наибольший общий делитель двух натуральных чисел a и b.

Нахождение наибольшего общего делителя для 6-и чисел - C++
привет! у меня есть задача на нахождение наибольшего общего делителя для 6-и чисел ... нашел было алгоритм .. #include...

Нахождение наибольшего общего делителя двух натуральных чисел - C++
1)Используя функцию NOD нахождения наибольшего общего делителя двух натуральных чисел, сократить данную обычную дробь M / N. / /...

Нахождение наибольшего общего делителя для элементов массива целых чисел - C++
Написать программу нахождения наибольшего общего делителя для элементов массива целых чисел буду признателен, если поможете. Написать...

Составить программу для нахождения наибольшего и наименьшего общего делителя и наименьшего общего кратного двух натуральных чисел - C++
Составить программу для нахождения наибольшего и наименьшего общего делителя и наименьшего общего кратного двух натуральных чисел по...

2
Wertz
0 / 0 / 0
Регистрация: 22.03.2014
Сообщений: 11
11.05.2014, 11:24 #2
Так:
C++
1
2
3
4
5
6
7
int gcd (int a, int b) {
    while (b) {
        a %= b;
        swap (a, b);
    }
    return a;
}
Либо так:
C++
1
2
3
4
5
6
int gcd (int a, int b) {
    if (b == 0)
        return a;
    else
        return gcd (b, a % b);
}
0
zss
Модератор
Эксперт С++
6516 / 6078 / 2001
Регистрация: 18.12.2011
Сообщений: 15,800
Завершенные тесты: 1
11.05.2014, 11:34 #3
a b
15 4 исходные
3 4 остаток от деления
4 3 переставляем
1 3 остаток от деления
3 1 переставляем
0 1 остаток от деления
1 0 переставляем, b равно нулю - конец
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
11.05.2014, 11:34
Привет! Вот еще темы с ответами:

Поиск наибольшего общего делителя - C++
Всем привет. Мне нужна ваша помощь. Не могу разобраться даже в элементарных циклических алгоритмах. Задавали д.з возведение в степень...

Рекурсивный алгоритм Евклида нахождения наибольшего общего делителя - C++
Даны натуральные числа n, m. Найти НОД(n,m). Рекурсивный алгоритм Евклида нахождения наибольшего общего делителя основан на соотношении...

Написать рекурсивную функцию вычисления Наибольшего общего делителя - C++
Написать рекурсивную функцию вычисления Наибольшего общего делителя (НОД), используя алгоритм Эвклида (NOD (a, b) = NOD (b, a%b))

Написать подпрограмму нахождения наибольшего общего делителя двух чисел - C++
Написать подпрограмму нахождения наибольшего общего делителя двух чисел N и M по реккурентному соотношению: (N=23345 M=9135 =&gt;...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

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