C++ програма за намиране на GCD

C Programa Za Namirane Na Gcd



GCD се нарича „ Най-голям общ делител ” (GCD). Той редовно се появява в различни изчисления и техники. Това е основна концепция в математиката, която се използва за изчисляване на най-голямото положително число, което е резултат от деленето между две или повече числа, които имат оставащ нулев остатък.

В това ръководство ще анализираме различни модели, за да намерим GCD с методи в C++.

C++ програма за намиране на GCD

В C++, за да получите най-голямото положително цяло число, което дели две предоставени числа, без да оставя остатък, използвайте GCD (Най-голям общ делител). Той помага за опростяване на дроби и разрешаване на проблеми, свързани с общи множители. Функцията GCD в програма връща най-големия общ множител между две входни цели числа.







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



Метод 1: Намерете GCD с помощта на Евклидов алгоритъм в C++

Евклидов алгоритъм ” е широко използван и надежден метод за определяне на GCD на две различни числа. Основава се на факта, че НОД за две цели числа остава непроменен, ако по-малкото число (цяло число) се извади от по-голямото, и този подход продължава, докато някое от целите числа стане нула.



Нека да разгледаме примера по-долу, тук намираме (GCD) на две числа с помощта на евклидовия алгоритъм. Първо, включете необходимите библиотеки:





#include
използвайки пространство от имена std ;

Тук:

  • ” заглавен файл включва входните и изходните потоци, което позволява входни и изходни операции.
  • използване на пространство от имена std ” е директива, която улеснява използването на имена, които идват от пространството на имената std.

След това декларирайте „ find_GCD() ' функция, която приема два целочислени параметъра ' стойност1 ' и ' стойност2 ” съответно. След това използвайте „ ако ” за проверка на „ стойност1 ”, което винаги ще бъде по-голямо и равно на „ стойност2 ”. След това „ докато ' се използва цикъл, който продължава да връща стойност до условието ' стойност2 != 0 ” става невярно. Вътре в цикъла „while“ „стойност1“ се разделя на „стойност2“ и записва резултата в „ остатък ” променлива.



Стойностите на „стойност1“ и „стойност2“ се актуализират, тъй като „стойност1“ става текущата стойност на „стойност2“, а „стойност2“ става изчисленият „остатък“. Цикълът продължава, докато „value2“ стане 0, в този момент GCD е намерен с евклидовия алгоритъм. Накрая върнете „value1“ към функцията „find_GCD“.

вътр find_GCD ( вътр стойност1, вътр стойност2 ) {
ако ( стойност2 > стойност1 ) {
размяна ( стойност1, стойност2 ) ;
}
докато ( стойност2 ! = 0 ) {
вътр остатък = стойност1 % стойност2 ;
стойност1 = стойност2 ;
стойност2 = остатък ;
}

връщане стойност1 ;
}

в „ основен () ' функция, декларирана ' номер1 ' и номер1 ” променливи. След това използвайте „ cout ”, за да получите информация от потребителите. След това „ храня се ” се използва за четене на въведените цели числа от стандартния вход и записването им в променливите “num1” и “num2”. След това, наречен „ find_GCD() ”, който приема „num1” и „num2” като параметри и съхранява резултатите в „ моят_резултат ” променлива. Накрая използвах „ cout ” с „ << ” оператор за вмъкване за отпечатване на приблизителния GCD на конзолата:

вътр основен ( ) {
вътр номер1, номер2 ;
cout << 'Въведете две числа' << endl ;
храня се >> номер1 >> бр.2 ;

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

връщане 0 ;
}

Изход

Метод 2: Намерете GCD рекурсивно в C++

Друг метод за изчисляване на GCD в C++ е рекурсивното използване на израза if. Нека да разгледаме дадения по-долу пример за проста програма в C++.

В кода по-долу дефинирайте „ изчисли_Gcd() ” за изчисляване на НОД на две числа. Отнема два целочислени параметъра, „ а ' и ' b ”. Той ще провери дали „ b ” е равно на „ 0 “, след което върнете „ а ”. В противен случай „ изчисли_Gcd() ” функция рекурсивно извиква с параметри ” b ' и ' a%b ”:

#include
използвайки пространство от имена std ;
вътр изчисли_Gcd ( вътр а, вътр b )
{
ако ( b == 0 )
връщане а ;
връщане изчисли_Gcd ( б, а % b ) ;
}

След това декларирайте променливите „num1“ и „num2“ вътре в „ основен () ” функция. След това използвайте „ cout ” израз за показване на „ Въведете две числа ”, след това „ храня се ” чете и записва променливите, въведени от потребителя. Продължавайки напред, извиках „ изчисли_Gcd() ” с входни стойности „num1” и „num2”. Запазено в „ резултат ' променлива и използва ' cout ”, за да покажете получената стойност:

вътр основен ( )
{
вътр номер1, номер2 ;
cout << „Въведете две числа:“ <> номер1 >> бр.2 ;
вътр резултат = изчисли_Gcd ( номер1, номер2 ) ;
cout << „GCD на две числа с помощта на рекурсивен метод“ << резултат << endl ;
връщане 0 ;
}

Изход

Метод 3: Намерете GCD с помощта на for Loop в C++

Дадената по-долу програма използва цикъла „for“, за да открие най-големия общ делител:

#включи
използвайки пространство от имена std ;
вътр основен ( ) {
вътр стойност1, стойност2, gcd ;
cout << „Въведете две стойности от целочислен тип“ <> стойност1 >> стойност2 ;
ако ( стойност2 > стойност1 ) {
вътр темп = стойност2 ;
стойност2 = стойност1 ;
стойност1 = темп ;
}

за ( вътр аз = 1 ; аз <= стойност2 ; ++ аз ) {
ако ( стойност1 % аз == 0 && стойност2 % аз == 0 ) {
gcd = аз ;
}
}
cout << 'GCD от две стойности, използващи for Loop: ' << gcd ;

връщане 0 ;
}

В горния код първо декларирайте три цели променливи „ стойност1 ”, “ стойност2 ', и ' gcd ' вътре в ' основен () ” функция. След това използвайте „ cout ”, за да получите входните стойности от потребителите. Въведените от потребителя стойности се записват в „стойност1“ и „стойност2“ с помощта на „ >> ” с „ храня се ” обект. След това използвайте „ ако ”, за да проверите дали „ стойност1 'е' > ' отколкото ' стойност2 ”, като проверите дали „ темп ” променливата съдържа „value2” и след това я присвоява на „value1” до „value2” и „temp” към „value1”. След това цикълът „for“ се повтаря до вътрешния „ ако ” условието е изпълнено. Накрая използвайте „ cout ”, за да отпечатате резултата. Както следва:

Научихте за методите за програмиране на C++ за намиране на GCD.

Заключение

GCD е важна концепция на математиката, която помага на потребителите да определят най-голямото положително цяло число, което дели двете числа без остатък. Използват се множество методи за намиране на GCD в C++, като например „ Евклидов алгоритъм”, “ рекурсивен ', и ' за ” цикъл. В това ръководство сме илюстрирали методите за програмиране на C++ за намиране на GCD.