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

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

Войти
Регистрация
Восстановить пароль
 
Hazrat
2 / 2 / 1
Регистрация: 26.01.2015
Сообщений: 38
#1

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

12.07.2015, 10:31. Просмотров 182. Ответов 1
Метки нет (Все метки)

как работает этот код?

C++
1
2
3
4
int gcd(int a, int b) {
  while(b) b^=a^=b^=a%=b;
  return a;
 }
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.07.2015, 10:31     алгоритм эвклида
Посмотрите здесь:

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

Алгоритм Эвклида - Дискретная математика
показать, что для произвольных целых чисел а и б, уравнение ах+бу=НОД(а,б) разрешимо в целых числах

Алгоритм Эвклида - Pascal ABC
Такой вопрос. Мне нужно написать программу , которая находит НОД(наибольший общий делитель) для 3-х целых, положительных чисел ,используя...

Алгоритм Эвклида - Алгебра
Как оценить сложность алгоритма Эвклида для поиска наибольшего общего делителя?

Алгоритм Эвклида (в чем ошибка) - Turbo Pascal
вот программа Program prost_chisla; uses crt; const m=5000; var A:array of integer; P:array of longint; ...

Алгоритм Эвклида. 10 пар чисел - Java SE
Как сгенерировать 10 пар чисел, в промежутках от 0 до 100, чтобы потом применить алгоритм Эвклида к каждой паре? public static int...

Вычислить выражение в поле, используя алгоритм Эвклида - Алгебра
найти 20 (в степени -1) в поле Z/ mod 73 используя алгоритм Эвклида

Даны два натуральных числа X и Y. Найти их наибольший общий делитель, используя рекурсивный алгоритм Эвклида. - Delphi
1. Даны два натуральных числа X и Y. Найти их наибольший общий делитель, используя рекурсивный алгоритм Эвклида. Вход: В текстовом...

Рекурсивная функция алгоритма Эвклида - C (СИ)
Создайте рекурсивную и нерекурсивную функцию, которая принимает в качестве аргументов два натуральных числа и возвращает их наибольший...

Пользуясь алгоритмом Эвклида подобрать Полиномы M1 (x) и M2 (x) - Алгебра
Пользуясь алгоритмом Эвклида подобрать Полиномы M1(x) и M2(x) так чтобы f1(x) M2(x)+f2(x)M1(x) = б(x) где б(x) - НСД f1(x) и f2(x) ...


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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Никита Однороб
108 / 88 / 13
Регистрация: 21.08.2012
Сообщений: 354
12.07.2015, 10:57     алгоритм эвклида #2
%= это присвоить остаток от деления
a^=b это a = a ^ b(xor)

есть ещё такая реализация, попроще
C++
1
2
3
4
5
6
7
8
9
int gcd(int a, int b) {
    int c;
    while (b != 0) {
        c = b; 
        b = a % b; 
        a = c; 
    }
  return a;
}
Ответ Создать тему
Опции темы

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