21xrx.com
2024-12-22 22:28:20 Sunday
登录
文章检索 我的文章 写文章
C语言求最大公因数的方法及代码实现
2023-06-17 02:22:54 深夜i     --     --
最大公因数 C语言 欧几里得算法 递归 循环

在数学中,最大公因数是指能够同时整除两个或多个整数的最大正整数,常用缩写为gcd。在C语言中,可以通过欧几里得算法(辗转相除法)来求最大公因数。

欧几里得算法的思想是:两个整数的最大公因数等于其中较小的数和两数相除余数的最大公因数。即:

GCD(a,b) = GCD(b, a%b)

在C语言中,可以用递归的方法实现欧几里得算法。代码如下:


int gcd(int a,int b)

{

  if(b==0)

    return a;

  else

    return gcd(b,a%b);

}

以上代码中,gcd()函数通过递归调用自身,不断地将较大的数除以较小的数并取余,直到余数为0,此时的除数就是两个数的最大公因数。

除了递归方法外,还可以用循环的方法实现欧几里得算法。代码如下:


int gcd(int a,int b)

{

  int tmp;

  while(b!=0)

  

    tmp=a%b;

    a=b;

    b=tmp;

  

  return a;

}

以上代码中,使用while循环不断将较大的数除以较小的数并取余,直到余数为0,此时的除数就是两个数的最大公因数。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复