#include<stdio.h>
int main()
{
int m,n;
int z,a,t=1;
int i;
scanf("%d %d",&m,&n);
if (m<n){
z=m;
m=n;
n=z;
}
for (i=2;i<n+1;i++) {
if((m%i==0)&&(n%i==0)){
m/=i;
n/=i;
t*=i;
i=1;
if(n==1)break;
}
}
if (((m%i!=0)||(n%i!=0))||n==1){
a=m*n*t;
printf("%d %d\n",t,a);
}
}
改进:
#include <stdio.h>
int main()
{
int m, n, a, b, c;
scanf("%d %d", &a, &b);
m=a; n=b;
while(b!=0)
{ c=a%b; a=b; b=c;}
printf("%d ", a);
printf("%d\n", m*n/a);
}
C语言 输入两个正整数m和n,求其最大公约数和最小公倍数
最新推荐文章于 2023-11-10 23:06:16 发布