找最大公因数

来源:百度知道 编辑:UC知道 时间:2024/09/24 01:48:58
24.30
9.15.27
16.20.36
12.18.60找最大公因数

6
3
4
6

其实楼主仔细分析就不难

以24,30为例

从24开始循环,
for(int i=1;i>0;i--)
{
if(24%i==0&&30%i==0)
break;
}
结束后i就是最大公约数

两个数的最大公因数,可以用辗转相除法得出.三个数的,可以用前两个数的最大公因数,和第3个数再求最大公因数.
辗转相除法的原理和代码,网上到处都是,你最好自己看一下,不能只指望照抄别人的

#include <stdio.h>
int gcd(int a, int b)
{
int r = a % b;
if (r == 0)
return b;
else
return gcd(b, r);
}

int main()
{
int a, b, c;
printf("输入三个整数:");
scanf("%d %d %d", &a, &b, &c);
printf("%d\n", gcd(a, gcd(b, c)));
return 0;
}