方法一:
#include <stdio.h>
void main(){
int num1, num2, t,p;
printf("请输入两个正整数:");
scanf("%d,%d", &num1, &num2);// 3 6
p = num1*num2;// 18
while (t = num1%num2){ // 3
num1 = num2; // 6
num2 = t; // 3
}
p = p / num2;// 18/3
printf("它们的最大公约数:%d\n", num2);// 3
printf("它们的最小公倍数:%d\n", p);// 6
}
方法二:函数调用
#include <stdio.h>
int num1(int x,int y){ //最大公约数
int t;
while(t = x%y){ // 3
x = y; // 6
y = t; // 3
}
return y;
}
int num2(int x,int y){ //最小公倍数
int z;
z = x * y;
z = z / num1(x,y); // 18/3
return z;
}
void main(){
int x, y;
printf("请输入两个正整数:");
scanf("%d,%d", &x, &y);// 3 6
printf("它们的最大公约数:%d\n", num1(x,y));// 3
printf("它们的最小公倍数:%d\n", num2(x,y));// 6
}