使用Euclid算法编写两个整数的最大公约数<辗转相除法>
1.如果a除以b能整除,则最大公约数是b
2.否则,最大公约数等于b和a%b的最大公约数
#include<stdio.h>
int gcd(int a,int b);
int main(void)
{
int a,b,t;
scanf("%d%d",&a,&b);
t=gcd(a,b);
printf("%d",t);
return 0;
}
int gcd(int a,int b)
{
int tmp,tmp1;
if(a<0)
a=-a;
if(b<0)
b=-b;
if(a<b)
{
tmp=a;
a=b;
b=tmp;
}
if(a%b==0)
tmp1=b;
else
tmp1=gcd(b,a%b);
return tmp1;
}
本文介绍了一种利用辗转相除法实现的最大公约数算法,并提供了完整的C语言代码示例。该算法通过递归的方式实现了两数的最大公约数计算。
499

被折叠的 条评论
为什么被折叠?



