原文: https://www.programiz.com/cpp-programming/examples/hcf-gcd
有关使用循环和决策语句来计算两个整数(正整数和负整数)的 GCD 的不同方法的示例。
要理解此示例,您应该了解以下 C++ 编程主题:
可以完美除以两个整数的最大整数称为这两个数字的 GCD 或 HCF。
示例 1:使用while循环查找 GCD
#include <iostream>using namespace std;int main(){int n1, n2;cout << "Enter two numbers: ";cin >> n1 >> n2;while(n1 != n2){if(n1 > n2)n1 -= n2;elsen2 -= n1;}cout << "HCF = " << n1;return 0;}
输出
Enter two numbers: 7852HCF = 26
在上面的程序中,从较大的数字中减去较小的数字,并存储该数字以代替较大的数字。
继续此过程,直到两个数字相等,即 HCF。
示例:2.使用for循环查找 HCF/GCD
#include <iostream>using namespace std;int main() {int n1, n2, hcf;cout << "Enter two numbers: ";cin >> 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;}
该程序的逻辑很简单。
在该程序中,n1和n2之间的小整数存储在n2中。 然后,循环从i = 1迭代到i <= n2,并且在每次迭代中,i的值增加 1。
如果两个数字都可以被i整除,则该数字将存储在变量hcf中。
迭代完成后,HCF 将存储在变量hcf中。
