一、最大公因数
引例:
24与18的最大公因数:
24÷18=1......6
18÷6=6......0
则6是24与18的最大公因数。【思想:辗转相除法】
代码如下:
test.c
#include <stdio.h>
int main()
{
int a = 24;
int b = 18;
int c = 0;
while (c=a%b)//若a模b不余0,则继续循环,继续往下辗转相除
{
a = b;//用原来的b继续模上上一次的余数
b = c;//即这两步的目的是形成18÷6
}
printf("%d\n", b);
system("pause");
return 0;
}
运行结果:
二、最小公倍数
引例:
4与6的最大公因数:2
4与6的最小公倍数:
4×6÷2=12
则12是4与6的最大公因数。【思想:两数之积与两数的最大公因数的商】
代码如下:
test.c
#include <stdio.h>
int main()
{
int a = 4;
int b = 6;
int c = 0;
int d = 0;
d = a*b;
while (c = a%b)
{
a = b;
b = c;
}
d = d / b;
printf("%d\n", d);
system("pause");
return 0;
}
运行结果如下: