main()
{
int a,b,num1,num2,temp;
printf("please input two numbers:\n");
scanf("%d,%d",&num1,&num2);
if(num1<num2)/*交换两个数,使大数放在num1上*/
{
temp=num1;
num1=num2;
num2=temp;
}
a=num1;b=num2;
while(b!=0)/*利用辗除法,直到b为0为止*/
{
temp=a%b;
a=b;
b=temp;
}
printf("最大公约数:%d\n",a);
printf("最小公倍数:%d\n",num1*num2/a);
另一种求最大公约数方法:
int a,b,temp;
scanf("%d%d",&a,&b);
temp=(a<b)?a:b;
while((a%temp!=0)||(b%temp!=0))
{
temp--;
}
printf("%d",temp);