Предмет: Информатика,
автор: Edinorozheck
С++. 9ый класс. Наиболее рациональным способом, пожалуйста
Приложения:
Аноним:
Потому что на Паскале эта программа существенно короче, даже с учетом такого оформления, как у Вас в примере.
begin
while b>0 do
(a,b):=(b, a mod b);
Result:=a
end;
begin
'Введите два натуральных числа'.Println;
var (a,b):=ReadInteger2;
Println($'НОД({a},{b}) = {НОД(a,b)}')
end.
7006652 112307574
НОД(7006652,112307574) = 1234
Ответы
Автор ответа:
1
Алгоритм Евклида
#include <iostream>
long int NOD(long int var1, long int var2)
{
while(var1 != var2)
{
if(var1 > var2)
std::swap(var1, var2);
var2 = var2 - var1;
}
return var1;
}
int main()
{
long int
A, B;
std::cin >> A >> B;
std::cout << "НОД(" << A << " и " << B << ") = " << NOD(A, B) << std::endl;
}
Приложения:
Похожие вопросы
Предмет: Математика,
автор: ilovesleep1237
Предмет: Математика,
автор: tamara5370
Предмет: Алгебра,
автор: leonard34
Предмет: Геометрия,
автор: AlyaLavI
Предмет: Биология,
автор: Лиза13022004