#include <stdio.h>
int lcm(int a, int b,int c);
int gcd(int a, int b,int c);
int main()
{
int a,b,c,gys,gbs;
scanf("%d%d%d",&a,&b,&c);
gys=gcd(a,b,c);//最大公约数
gbs=lcm(a,b,c);//最小公倍数
printf("最大公约数:%d\n",gys);
printf("最小公倍数:%d\n",gbs);
return 0;
}
int gcd(int a, int b,int c)//求最大公约数
{
int min,max1,i;
if(a<b)
{
if(a<c)
{
min=a;
}
else
{
min=c;
}
}
else
{
if(b<c)
{
min=b;
}
else
{
min=c;
}
}
for(i=1; i<=min; i++)
{
if(a%i==0&&b%i==0&&c%i==0)
{
max1=i;
}
}
return max1;
}
int lcm(int a,int b,int c)//求最小公倍数
{
int min=1;//最小公倍数初值赋值为1
while(1) //永远成立,无条件循环
{
if(min%a==0&&min%b==0&&min%c==0) //判断是否为最小公倍数
break;//如果满足min分别是a,b,c的倍数,立即跳出
else
min++;//不满足,就+1
}
return min;
}
/*
#include <stdio.h>
int main()
{
int n,m,gys,gbs;
int gcd(int a, int b);
int lcm(int a, int b);
scanf("%d%d",&n,&m);
gys=gcd(n,m);//最大公约数
gbs=lcm(n,m);//最小公倍数
printf("%d %d\n",gys,gbs);
return 0;
}
int gcd(int x,int y)//!!!求最大公约数!!!
{
int r;
while(y>0)
{
r=x%y;
x=y;
y=r;
}
return x;
}
int lcm(int x,int y)
{
return ((x*y)/gcd(x,y));
}
*/