Menu Close

C语言练习:发现两个数的最大公约数(GCD)

最大公约数(Greatest Common Divisor,GCD),也称最大公因数(Highest Common Factor,HCF)、最大公因子,是一种数学概念,指两个或多个整数共有约数中最大的一个。

最大公约数的求解方法有质因数分解法、短除法、辗转相除法、更相减损法等,与其相对应的概念是最小公倍数。

1. 利用for loop

#include <stdio.h>
int main()
{
    int n1, n2, i, gcd;

    printf("Enter two integers: ");
    scanf("%d %d", &n1, &n2);

    for(i=1; i <= n1 && i <= n2; ++i)
    {
        // Checks if i is factor of both integers
        if(n1%i==0 && n2%i==0)
            gcd = i;
    }

    printf("G.C.D of %d and %d is %d", n1, n2, gcd);

    return 0;
}

2. 利用 while loop 和 IF ELse语句

#include <stdio.h>
int main()
{
    int n1, n2;
    
    printf("Enter two positive integers: ");
    scanf("%d %d",&n1,&n2);

    while(n1!=n2)
    {
        if(n1 > n2)
            n1 -= n2;
        else
            n2 -= n1;
    }
    printf("GCD = %d",n1);

    return 0;
}

结果:

Enter two positive integers: 81 
153 GCD = 9
除教程外,本网站大部分文章来自互联网,如果有内容冒犯到你,请联系我们删除!

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

Leave the field below empty!

Posted in C 决策和循环语句, C语言习题集

Related Posts