Введение
В этом практическом занятии вы научитесь находить наибольший общий делитель (НОД) двух чисел с использованием функций на C++. НОД - это наибольшее число, которое делит оба заданных числа. Мы будем использовать рекурсивный подход для реализации функции.
Создайте новый файл на C++
Создайте новый файл на C++ с именем main.cpp в каталоге ~/project.
touch ~/project/main.cpp
Подключить библиотеки
В файле подключите необходимые библиотеки.
#include<iostream>
Определить функцию для вычисления НОД
Определите рекурсивную функцию gcd(), которая принимает два целых аргумента в качестве входных данных и возвращает целое число в качестве выходных данных, которое будет НОДом двух входных чисел.
int gcd(int a, int b) {
if (a == 0 || b == 0)
return 0;
else if (a == b)
return a;
else if (a > b)
return gcd(a - b, b);
else
return gcd(a, b - a);
}
Напишите главную функцию
В функции main() объявите две целочисленные переменные и присвойте им значения. Затем вызовите функцию gcd() с этими двумя переменными в качестве параметров и выведите результат.
int main() {
int a = 105, b = 30;
std::cout << "НОД от " << a << " и " << b << " равен " << gcd(a,b) << std::endl;
return 0;
}
Компилируйте и запустите программу
Сохраните внесенные изменения в файле и выйдите. Скомпилируйте программу с использованием следующей командной строки в терминале:
g++ main.cpp -o main
Для запуска программы введите в терминале следующую команду:
./main
Вывод
После запуска программы вывод будет отображаться в терминале следующим образом:
НОД от 105 и 30 равен 15
Резюме
В этом практическом занятии вы узнали, как найти Наибольший Общий Делитель (НОД) двух чисел с использованием рекурсивной функции на C++. Это полезное приложение в информатике и математике.



