Есть например вот такая часть кода (функция):
int NOD(int a, int b)
{
while(a > 0 && b > 0)
if(a > b)
a %= b;
else
b %= a;
return a + b;
}
Что находится в каждой строке и как работает это для нахождения НОД?
C/C++
Вопрос про НОД в программировании
Вот тебе сравнительная таблица:
a=0 b=0 rez=0
a=0 b=1 rez=1
a=0 b=2 rez=2
a=0 b=3 rez=3
a=0 b=4 rez=4
a=0 b=5 rez=5
a=0 b=6 rez=6
a=0 b=7 rez=7
a=0 b=8 rez=8
a=0 b=9 rez=9
a=1 b=0 rez=1
a=1 b=1 rez=1
a=1 b=2 rez=1
a=1 b=3 rez=1
a=1 b=4 rez=1
a=1 b=5 rez=1
a=1 b=6 rez=1
a=1 b=7 rez=1
a=1 b=8 rez=1
a=1 b=9 rez=1
a=2 b=0 rez=2
a=2 b=1 rez=1
a=2 b=2 rez=2
a=2 b=3 rez=1
a=2 b=4 rez=2
a=2 b=5 rez=1
a=2 b=6 rez=2
a=2 b=7 rez=1
a=2 b=8 rez=2
a=2 b=9 rez=1
a=3 b=0 rez=3
a=3 b=1 rez=1
a=3 b=2 rez=1
a=3 b=3 rez=3
a=3 b=4 rez=1
a=3 b=5 rez=1
a=3 b=6 rez=3
a=3 b=7 rez=1
a=3 b=8 rez=1
a=3 b=9 rez=3
a=4 b=0 rez=4
a=4 b=1 rez=1
a=4 b=2 rez=2
a=4 b=3 rez=1
a=4 b=4 rez=4
a=4 b=5 rez=1
a=4 b=6 rez=2
a=4 b=7 rez=1
a=4 b=8 rez=4
a=4 b=9 rez=1
a=5 b=0 rez=5
a=5 b=1 rez=1
a=5 b=2 rez=1
a=5 b=3 rez=1
a=5 b=4 rez=1
a=5 b=5 rez=5
a=5 b=6 rez=1
a=5 b=7 rez=1
a=5 b=8 rez=1
a=5 b=9 rez=1
a=6 b=0 rez=6
a=6 b=1 rez=1
a=6 b=2 rez=2
a=6 b=3 rez=3
a=6 b=4 rez=2
a=6 b=5 rez=1
a=6 b=6 rez=6
a=6 b=7 rez=1
a=6 b=8 rez=2
a=6 b=9 rez=3
a=7 b=0 rez=7
a=7 b=1 rez=1
a=7 b=2 rez=1
a=7 b=3 rez=1
a=7 b=4 rez=1
a=7 b=5 rez=1
a=7 b=6 rez=1
a=7 b=7 rez=7
a=7 b=8 rez=1
a=7 b=9 rez=1
a=8 b=0 rez=8
a=8 b=1 rez=1
a=8 b=2 rez=2
a=8 b=3 rez=1
a=8 b=4 rez=4
a=8 b=5 rez=1
a=8 b=6 rez=2
a=8 b=7 rez=1
a=8 b=8 rez=8
a=8 b=9 rez=1
a=9 b=0 rez=9
a=9 b=1 rez=1
a=9 b=2 rez=1
a=9 b=3 rez=3
a=9 b=4 rez=1
a=9 b=5 rez=1
a=9 b=6 rez=3
a=9 b=7 rez=1
a=9 b=8 rez=1
a=9 b=9 rez=9
a=0 b=0 rez=0
a=0 b=1 rez=1
a=0 b=2 rez=2
a=0 b=3 rez=3
a=0 b=4 rez=4
a=0 b=5 rez=5
a=0 b=6 rez=6
a=0 b=7 rez=7
a=0 b=8 rez=8
a=0 b=9 rez=9
a=1 b=0 rez=1
a=1 b=1 rez=1
a=1 b=2 rez=1
a=1 b=3 rez=1
a=1 b=4 rez=1
a=1 b=5 rez=1
a=1 b=6 rez=1
a=1 b=7 rez=1
a=1 b=8 rez=1
a=1 b=9 rez=1
a=2 b=0 rez=2
a=2 b=1 rez=1
a=2 b=2 rez=2
a=2 b=3 rez=1
a=2 b=4 rez=2
a=2 b=5 rez=1
a=2 b=6 rez=2
a=2 b=7 rez=1
a=2 b=8 rez=2
a=2 b=9 rez=1
a=3 b=0 rez=3
a=3 b=1 rez=1
a=3 b=2 rez=1
a=3 b=3 rez=3
a=3 b=4 rez=1
a=3 b=5 rez=1
a=3 b=6 rez=3
a=3 b=7 rez=1
a=3 b=8 rez=1
a=3 b=9 rez=3
a=4 b=0 rez=4
a=4 b=1 rez=1
a=4 b=2 rez=2
a=4 b=3 rez=1
a=4 b=4 rez=4
a=4 b=5 rez=1
a=4 b=6 rez=2
a=4 b=7 rez=1
a=4 b=8 rez=4
a=4 b=9 rez=1
a=5 b=0 rez=5
a=5 b=1 rez=1
a=5 b=2 rez=1
a=5 b=3 rez=1
a=5 b=4 rez=1
a=5 b=5 rez=5
a=5 b=6 rez=1
a=5 b=7 rez=1
a=5 b=8 rez=1
a=5 b=9 rez=1
a=6 b=0 rez=6
a=6 b=1 rez=1
a=6 b=2 rez=2
a=6 b=3 rez=3
a=6 b=4 rez=2
a=6 b=5 rez=1
a=6 b=6 rez=6
a=6 b=7 rez=1
a=6 b=8 rez=2
a=6 b=9 rez=3
a=7 b=0 rez=7
a=7 b=1 rez=1
a=7 b=2 rez=1
a=7 b=3 rez=1
a=7 b=4 rez=1
a=7 b=5 rez=1
a=7 b=6 rez=1
a=7 b=7 rez=7
a=7 b=8 rez=1
a=7 b=9 rez=1
a=8 b=0 rez=8
a=8 b=1 rez=1
a=8 b=2 rez=2
a=8 b=3 rez=1
a=8 b=4 rez=4
a=8 b=5 rez=1
a=8 b=6 rez=2
a=8 b=7 rez=1
a=8 b=8 rez=8
a=8 b=9 rez=1
a=9 b=0 rez=9
a=9 b=1 rez=1
a=9 b=2 rez=1
a=9 b=3 rez=3
a=9 b=4 rez=1
a=9 b=5 rez=1
a=9 b=6 rez=3
a=9 b=7 rez=1
a=9 b=8 rez=1
a=9 b=9 rez=9
Сергей Осипов
А например если 12 и 18 как это работает
Данная функция реализует банальнейший https://ru.wikipedia.org/wiki/Алгоритм_Евклида - в самом простом его варианте.
Похожие вопросы
- Вопрос, про курс по программированию на C++
- День добрый \[-_-]/ вопрос по вузовскому программированию на си(C)
- Программирование на С++
- Программирование на C++
- Как начать изучать программирование?
- C++, Нахождение НОД
- Доброго дня! Хочу сменить сферу деятельности . Заинтересовал вариант программирования .
- Программирование на C++
- Книги по программированию.
- Может ли новичок в программирование начать с c++/Gamedev