Программа C++ для поиска GCD

Programma C Dla Poiska Gcd



НОД именуется « Наибольший общий делитель (НОД). Он регулярно появляется в различных вычислениях и методах. Это основное понятие в математике, которое используется для вычисления наибольшего положительного числа, являющегося результатом деления двух или более чисел, у которых остаток равен нулю.

В этом руководстве мы проанализируем различные шаблоны для поиска НОД с помощью методов в C++.

Программа C++ для поиска GCD

В C++, чтобы получить наибольшее положительное целое число, которое делит два предоставленных числа без остатка, используйте НОД (наибольший общий делитель). Это помогает упростить дроби и решить проблемы, связанные с общими факторами. Функция НОД в программе возвращает наибольший общий делитель между двумя входными целыми числами.







C++ предоставляет несколько методов для вычисления НОД двух чисел. Некоторые из них описаны ниже.



Метод 1: поиск НОД с использованием евклидова алгоритма в C++

Евклидов алгоритм — широко используемый и надежный метод определения НОД двух разных чисел. Он основан на том факте, что НОД для двух целых чисел остается неизменным, если меньшее число (целое число) вычитается из большего, и этот подход продолжается до тех пор, пока какое-либо из целых чисел не станет равным нулю.



Давайте посмотрим на приведенный ниже пример, здесь мы находим (НОД) двух чисел, используя алгоритм Евклида. Во-первых, подключите необходимые библиотеки:





#include <иопоток>
с использованием пространство имен станд. ;

Здесь:

  • » включает в себя потоки ввода и вывода, что позволяет выполнять операции ввода и вывода.
  • используя пространство имен std ” — это директива, упрощающая использование имен из пространства имен std.

Затем объявить « найти_GCD() ” функция, которая принимает два целочисленных параметра “ значение1 ' и ' значение2 ' соответственно. Далее используйте « если », чтобы проверить « значение1 », который всегда будет больше и равен « значение2 ». После этого « пока ” используется цикл, который продолжает возвращать значение до тех пор, пока не будет выполнено условие “ значение2 != 0 ” становится ложным. Внутри цикла «пока» «значение1» делится на «значение2» и сохраняет результат в « остаток ' переменная.



Значения «значение1» и «значение2» обновляются, поскольку «значение1» становится текущим значением «значение2», а «значение2» становится вычисленным «остатком». Цикл продолжается до тех пор, пока «значение2» не станет равным 0, в этот момент НОД был найден с помощью алгоритма Евклида. Наконец, верните «value1» в функцию «find_GCD».

инт find_GCD ( инт значение1, инт значение2 ) {
если ( значение2 > значение1 ) {
менять ( значение1, значение2 ) ;
}
пока ( значение2 ! '=' 0 ) {
инт остаток '=' значение1 % значение2 ;
значение1 '=' значение2 ;
значение2 '=' остаток ;
}

возвращаться значение1 ;
}

В ' основной() ” функция, объявленная ” число1 ' и число1 переменные. Затем используйте « cout », чтобы получить информацию от пользователей. Далее « принимать пищу » используется для чтения введенных целых чисел со стандартного ввода и сохранения их в переменных «num1» и «num2». После этого назвали « найти_GCD() », который принимает «num1» и «num2» в качестве параметров и сохраняет результаты в « мой_результат ' переменная. Наконец, использовал « cout ” с “ << » оператор вставки для вывода предполагаемого НОД на консоль:

инт основной ( ) {
инт число1, число2 ;
cout << 'Введите два числа' << конец ;
принимать пищу >> число1 >> число2 ;

инт мой_результат '=' find_GCD ( число1, число2 ) ;
cout << 'GCD двух целых чисел с использованием алгоритма Евклида: ' << мой_результат << конец ;

возвращаться 0 ;
}

Выход

Метод 2: рекурсивный поиск GCD в C++

Другой метод вычисления НОД в C++ — это рекурсивное использование оператора if. Давайте посмотрим на приведенный ниже пример простой программы на C++.

В приведенном ниже коде определите « рассчитать_Gcd() ” для вычисления НОД двух чисел. Он принимает два целочисленных параметра: а ' и ' б ». Он проверит, является ли « б » равно « 0 ', затем верните ' а ». В противном случае « рассчитать_Gcd() ” функция рекурсивно вызывает с параметрами ” б ' и ' а%б ”:

#include <иопоток>
с использованием пространство имен станд. ;
инт рассчитать_Gcd ( инт а, инт б )
{
если ( б == 0 )
возвращаться а ;
возвращаться рассчитать_Gcd ( б, а % б ) ;
}

Затем объявите переменные «num1» и «num2» внутри « основной() функция. После этого используйте « cout », чтобы отобразить « Введите два числа ', затем ' принимать пищу » объект считывает и сохраняет переменные, введенные пользователем. Двигаясь вперед, вызвал « рассчитать_Gcd() » с входными значениями «num1» и «num2». Сохранено внутри “ результат ' и использовал ' cout », чтобы отобразить результирующее значение:

инт основной ( )
{
инт число1, число2 ;
cout << 'Введите два числа:' <> число1 >> число2 ;
инт результат '=' рассчитать_Gcd ( число1, число2 ) ;
cout << 'GCD двух чисел с использованием рекурсивного метода' << результат << конец ;
возвращаться 0 ;
}

Выход

Способ 3: найти GCD с помощью цикла for в C++

Приведенная ниже программа использовала цикл for для нахождения наибольшего общего делителя:

#включать
с использованием пространство имен станд. ;
инт основной ( ) {
инт значение1, значение2, НОД ;
cout << 'Введите два значения целочисленного типа' <> значение1 >> значение2 ;
если ( значение2 > значение1 ) {
инт температура '=' значение2 ;
значение2 '=' значение1 ;
значение1 '=' температура ;
}

для ( инт я '=' 1 ; я <= значение2 ; ++ я ) {
если ( значение1 % я == 0 && значение2 % я == 0 ) {
НОД '=' я ;
}
}
cout << 'GCD двух значений, использующих цикл for: ' << НОД ;

возвращаться 0 ;
}

В приведенном выше коде сначала объявите три целочисленные переменные: значение1 », « значение2 ', и ' НОД ' внутри ' основной() функция. Далее используйте « cout », чтобы получить входные значения от пользователей. Введенные пользователем значения сохраняются в «value1» и «value2» с помощью « >> ” оператор с “ принимать пищу ' объект. Затем используйте « если », чтобы проверить, является ли « значение1 ' является ' > ' чем ' значение2 ', проверив, является ли ' температура » содержит «value2», а затем присваивает его «value1» для «value2» и «temp» для «value1». После этого цикл for повторяется до тех пор, пока не если условие выполнено. Наконец, используйте « cout ” для печати результата. Следующее:

Вы узнали о методах программирования C++ для поиска НОД.

Заключение

НОД — это важное понятие математики, которое помогает пользователям определить наибольшее положительное целое число, которое делит оба числа без остатка. Для поиска НОД в C++ используется несколько методов, таких как « Евклидов алгоритм», « рекурсивный ', и ' для ' петля. В этом руководстве мы проиллюстрировали методы программирования на C++ для поиска НОД.