辗转相除法,又称欧几里得算法。两个正整数a和b(a>b),它们的最大公约数等于余数c和较小的数b之间的最大公约数。最小公倍数=两数之积/最大公约数
#include
int get1(int a, int b)
{
if (a < b)
{
int c = a;
a = b;
b = c;
}
while (a%b != 0)
{
b = a%b;
a = b;
}
return b;
}
int get2(int a,int b)
{
return a*b / get1(a, b);
}
int main()
{
printf("最大公约数%d\n", get1(200, 15));
printf("最小公倍%d", get2(200, 15));
return 0;
}
C 语言实例 - 求两数最小公倍数
C 语言实例 - 求两数最小公倍数 用户输入两个数,其这两个数的最小公倍数. 实例 - 使用 while 和 if #include int main() { int ...
算法:辗转相除法求最大公约数(C语言实现)
辗转相除法,一种求最大公约数的算法 已知:A / B = C ······ R (A.B.C.R皆是整数) 假设:D是A的余数,D也是B的余数,那么D就是A和B的公约数 D是A和B的约数,则A和B是 ...