📜  用C++程序查找GCD

📅  最后修改于: 2020-09-25 06:08:56             🧑  作者: Mango

使用循环和决策语句来计算两个整数(正整数和负整数)的GCD的不同方法的示例。

可以完美除以两个整数的最大整数称为这两个数字的GCD或HCF。

示例1:使用while循环查找GCD

#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。

示例:2.使用for循环查找HCF / GCD

#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;
}

该程序的逻辑很简单。

在此程序中, n1n2之间的小整数存储在n2 。然后,循环从i = 1迭代到i <= n2并且在每次迭代中, i值都增加1。

如果两个数字都可以被i整除,则该数字将存储在变量hcf

迭代完成后,HCF将存储在变量hcf