📅  最后修改于: 2020-09-25 06:08:56             🧑  作者: Mango
可以完美除以两个整数的最大整数称为这两个数字的GCD或HCF。
#include
using namespace std;
int main()
{
int n1, n2;
cout << "Enter two numbers: ";
cin >> n1 >> n2;
while(n1 != n2)
{
if(n1 > n2)
n1 -= n2;
else
n2 -= n1;
}
cout << "HCF = " << n1;
return 0;
}
输出
Enter two numbers: 78
52
HCF = 26
在上面的程序中,从较大的数字中减去较小的数字,并存储该数字以代替较大的数字。
继续此过程,直到两个数字相等,即HCF。
#include
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
。