Примери за различни начини за изчисляване на 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.