1.最小公倍数=两整数的乘积÷最大公约数
2.求最大公约数算法
(1)辗转相除法
有两整数a和b:
① a%b得余数c
② 若c=0,则b即为两数的最大公约数
③ 若c≠0,则a=b,b=c,再回去执行①
/*辗转相除法求最大公约数*/
#include <stdio.h>
int main(){
int m,n,temp ;
printf("请输入两个整数:");
scanf("%d%d", &m, &n);
while (n!=0)
{
temp = m%n;
m = n;
n = temp;
}
printf("最大公约数为:%d\n", m);
return 0;
}
(2)更相减损法
有两整数a和b:
① 若a>b,则a=a-b
② 若a<b,则b=b-a
③ 若a=b,则a(或b)即为两数的最大公约数
④ 若a≠b,则再回去执行①
/*更相减损法求最大公约数*/
#include <stdio.h>
int main(){
int m,n,temp ;
printf("请输入两个整数:");
scanf("%d%d", &m, &n);
while (m!=n)
{
if (m>n)
{
m = m - n;
}else{
n = n - m;
}
}
printf("最大公约数为:%d\n", m);
return 0;
}