#include"stdio.h"
main()
{
int m,n,i,j;
printf("请输入两个正整数:");
scanf("%d%d",&m,&n);
if(melse
{i=n;j=m;}
while( )
i--;
while( )
j++;
printf("%d和%d的最大公约数为:%d\n",m,n,i);
printf("%d和%d的最小公倍数为:%d\n",m,n,j);
}
#include"stdio.h"
main()
{
int m,n,i,j;
printf("请输入两个正整数:");
scanf("%d%d",&m,&n);
if(m<n)
{i=m;j=n;} //i放最小数,j放最大数
else
{i=n;j=m;}
while(m%i || n%i)
i--;
while(j%m || j%n)
j++;
printf("%d和%d的最大公约数为:%d\n",m,n,i);
printf("%d和%d的最小公倍数为:%d\n",m,n,j);
}
辗转相除法,望采纳!
#include <stdio.h>
#include <math.h>
void main()
{
int m,n,r,gys,gbs;
scanf("%d%d",&m,&n);
m=abs(m);
n=abs(n);
gbs=m*n;
r=m%n;
while(r!=0)
{
m=n;
n=r;
r=m%n;
}
gys=n;
gbs=gbs/gys;
printf("%d %d\n",gys,gbs);
}