#include <stdio.h>
//辗转相除法算两个数的最大公约数
/*(eg18 12)
m n t
18 12
12 6 6
6 0 0
*/
int main(void)
{
int m,n,t;
scanf("%d%d",&m,&n);
while(n!=0)
{
t=m%n;
m=n;
n=t;
printf("m=%d,n=%d,t=%d\n",m,n,t);
}
printf("%d",m);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
int yue(int a,int b);
int bei(int a,int b);
int yue(int a,int b)
{
int r;
while((r=a%b)!=0)
{
a=b;
b=r;
}
return b;
}
int bei(int a,int b)
{
int c;
c=a*b/yue(a,b);
return c;
}
int main()
{
int a,b,c,d;
scanf("%d%d",&a,&b);
c=bei(a,b);
d=yue(a,b);
printf("最大公约数为%d\n",d);
printf("最小公倍数为%d\n",c);
return 0;
}
网友评论