Найти НОД с использованием функций

C++Beginner
Практиковаться сейчас

Введение

В этом практическом занятии вы научитесь находить наибольший общий делитель (НОД) двух чисел с использованием функций на 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++. Это полезное приложение в информатике и математике.