求M,N两数的最大公约和最小公倍数
输入两个正整数m和n,求其最大公约数和最小公倍数。
输入输出格式
输入描述:
两个整数
输出描述:
最大公约数,最小公倍数
输入输出样例
输入样例#:
复制
5 7
输出样例#:
复制
1 35
实现思想
暴力解决:对两数进行两层循环嵌套,求出最大公约,再用两数相乘之积除以最大公约为最小公倍。
数学解决:辗转相除求最大公约
题点就是求最大公约数
#include <stdio.h>
#include <stdlib.h>
int main()
{
int a,b,c;
int n,m;
scanf("%d%d",&n,&m);
a=m;
b=n;
while(c!=0){//此部分为辗转相除的内容
c=a%b;
a=b;
b=c;
}
printf("%d ",a);//a是最大公约
b=(m*n)/a;
printf("%d",b);
return 0;
}