Приклади різних способів обчислення GCD двох цілих чисел (як для додатних, так і для негативних цілих чисел) за допомогою циклів та операторів прийняття рішень
Щоб зрозуміти цей приклад, ви повинні знати наступні теми програмування на C ++:
- C ++ if, if … else та вкладений if … else
- C ++ для циклу
- 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.