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

Съдържание

Примери за различни начини за изчисляване на GCD на две цели числа (както за положителни, така и за отрицателни цели числа) с помощта на цикли и изявления за вземане на решения.

За да разберете този пример, трябва да имате познанията по следните теми за програмиране на C ++:

  • C ++ ако, ако … друго и вложено ако … друго
  • C ++ за Loop
  • C ++ докато и правя … докато Loop

Най-голямото цяло число, което може перфектно да разделя две цели числа, е известно като GCD или HCF от тези две числа.

Пример 1: Намерете GCD с помощта на цикъл while

 #include using namespace std; int main() ( int n1, n2; cout <> n1>> n2; while(n1 != n2) ( if(n1> n2) n1 -= n2; else n2 -= n1; ) cout << "HCF = " << n1; return 0; )

Изход

 Въведете две числа: 78 52 HCF = 26

В горната програма по-малкото число се изважда от по-голямото число и това число се съхранява на мястото на по-голямото число.

Този процес продължава, докато две числа станат равни, което ще бъде HCF.

Пример: 2. Намерете HCF / GCD, използвайки for цикъл

 #include using namespace std; int main() ( int n1, n2, hcf; cout <> n1>> n2; // Swapping variables n1 and n2 if n2 is greater than n1. if ( n2> n1) ( int temp = n2; n2 = n1; n1 = temp; ) for (int i = 1; i <= n2; ++i) ( if (n1 % i == 0 && n2 % i ==0) ( hcf = i; ) ) cout << "HCF = " << hcf; return 0; )

Логиката на тази програма е проста.

В тази програма в n2 се съхранява малко цяло число между n1 и n2. След това цикълът се итерира от i = 1до i <= n2и във всяка итерация стойността на i се увеличава с 1.

Ако и двете числа се делят на i, тогава това число се съхранява в променлива hcf.

Когато итерацията приключи, HCF ще се съхранява в променлива hcf.

Интересни статии...