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

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

Восстановить пароль Регистрация
 
yurets17
1 / 1 / 0
Регистрация: 07.10.2013
Сообщений: 170
04.02.2014, 20:21     Алгоритм Евклида #1
Здравствуйте! Подскажите пожалуйста какие ошибки есть в алгоритме, который я составил?
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
int gcd (int a, int b) {
    int t;
        if (b==0)
                return a;
        else
            if (a < b) {swap(a,b); }
                while(a != b) {
                  t = a % b;
                  if (t==0) break;
                  a = b;
                  b = t;
                }return(b);
}
Алгоритм Евклида
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
gromo
 Аватар для gromo
366 / 265 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
04.02.2014, 20:31     Алгоритм Евклида #2
KISS!
C++
1
2
3
4
5
6
7
int gcd (int a, int b) {
    while (b) {
        a %= b;
        std::swap (a, b);
    }
    return a;
}
yurets17
1 / 1 / 0
Регистрация: 07.10.2013
Сообщений: 170
04.02.2014, 20:41  [ТС]     Алгоритм Евклида #3
я это знаю, но нам сказали делать именно так
gromo
 Аватар для gromo
366 / 265 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
04.02.2014, 20:43     Алгоритм Евклида #4
Цитата Сообщение от yurets17 Посмотреть сообщение
я это знаю, но нам сказали делать именно так
ну тогда забейте на оценку в этот раз...
yurets17
1 / 1 / 0
Регистрация: 07.10.2013
Сообщений: 170
04.02.2014, 20:45  [ТС]     Алгоритм Евклида #5
Цитата Сообщение от gromo Посмотреть сообщение
ну тогда забейте на оценку в этот раз...
почему?
gromo
 Аватар для gromo
366 / 265 / 24
Регистрация: 04.09.2009
Сообщений: 1,214
04.02.2014, 20:47     Алгоритм Евклида #6
Цитата Сообщение от yurets17 Посмотреть сообщение
почему?
потому что не всегда надо делать то, что вам говорят другие. Особенно в данном случае
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
04.02.2014, 20:54     Алгоритм Евклида
Еще ссылки по теме:

C++ алгоритм евклида
Расширенный алгоритм Евклида C++
Алгоритм Евклида. Переведите с Паскаля на С++ C++

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

Или воспользуйтесь поиском по форуму:
yurets17
1 / 1 / 0
Регистрация: 07.10.2013
Сообщений: 170
04.02.2014, 20:54  [ТС]     Алгоритм Евклида #7
я полностью согласен, но такое задание дал препод - подробно расписать всю функцию gcd

Добавлено через 5 минут
Единственное, как альтернатива, можно так:
C++
1
2
3
4
5
6
7
int gcd(int a, int b) {
 while ( a != b) {
    if (a > b) a -= b;
     else b -= a;
 }
return a;
}
Yandex
Объявления
04.02.2014, 20:54     Алгоритм Евклида
Ответ Создать тему
Опции темы

Текущее время: 17:33. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru