PTA 最大公约数和最小公倍数
#include <stdio.h>
int min( int M, int N)
{
int y;
int x;
x = max( M, N);
y = M*N/x; //根据最小公倍数=两数之积/最大公约数
return y;
}
int max(int M, int N)
{
int t, x;
do{
t = M%N; //利用辗转相除法求解最大公约数
if(t)
{
x = N;
N = t;
M = x;
}
}while(t);
return N;
}
int main()
{
int M, N;
int x, y;
scanf("%d %d", &M, &N);
x = max( M, N); //最大公约数
y = min( M, N); //最小公倍数
printf( "%d %d", x, y);
return 0;
}
注意空格 字符啥的。。。。因为PAT太过灵敏(就是不太好用哈)。