您的位置:首页 > 编程语言 > C语言/C++

C语言辗转相除法(欧几里德算法)求最大公约数

2015-01-07 18:44 288 查看
算法叙述:

设(a,b)表示a和b的最大公约数

若c为a/b的余数(c=a%b)

则(a,b)=(b,c).

#include<stdio.h>
int gcd(int a,int b)
{
return b ? gcd(b,a%b) : a;

}
int main()
{
int a,b;
while(scanf("%d%d",&a,&b)!=EOF)
printf("%d\n",a>b?gcd(a,b):gcd(b,a));
return 0;
}


其次,最小公倍数 = a*b / 最大公约数
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: