题目描述 |
写两个函数,分别求两个整数的最大公约数和最小公倍数,用主函数调用这两个函数,并输出结果两个整数由键盘输入。 |
输入 |
两个数 |
输出 |
最大公约数 最小公倍数 |
样例输入 |
6 15 |
样例输出 |
3 30 |
#include <stdio.h>
#include<math.h>
int min(int n,int m);//最小公倍数
int max(int n,int m);//最大公约数
int main() {
int num1,num2,min1,max1;
scanf("%d %d",&num1,&num2); //输入两个整数
if(num1<num2){ //比较两个整数的大小
int temp=num1;
num1=num2;
num2=temp;
}
//printf("%d %d",num1,num2);
min1=min(num1,num2); //调用最小公倍数函数
max1=max(num1,num2); //调用最大公约数函数
printf("%d ",max1);
printf("%d",min1);
return 0;
}
int min(int n,int m){ //最小公倍数函数
int min_nm;
int num=max(n,m);
min_nm=n*m/num; //最小公倍数等于两个整数相乘除以最大公约数
return min_nm;
}
int max(int n,int m){ //最大公约数函数
int max_nm;
for(int i=1;i<=m;i++){
if(n%i==0 && m%i==0){ //被同时整除
max_nm=i;
}
}
return max_nm;
}