一、描述:
求两个数的最大公约数和最小公倍数。
最大公约数(最大公因数):指两个或两个以上整数,公因数中最大的一个。
15的公因数为:1,3,5,15
9的公因数为:1,3,9
则a和b的最大公约数为:3
最小公倍数:有两个数a和b,则最小公约数为=(a*b)/ 最大公约数
15的公因数为:1,3,5,15
9的公因数为:1,3,9
则a和b的最小公因数为:(15*9)/3=45
验证见如下程序:
二、程序:
#include<stdio.h>
#include<windows.h>
#pragma warning(disable:4996)
int main(){
int m = 0, n = 0, t = 0;
printf("请输入两个数字:");
scanf("%d %d", &m, &n);
int a = m;
int b = n;
if (m < n){ //若m<n,则交换m和n
int temp = m;
m = n;
n = temp;
}
while (m%n != 0){ //求最大公约数
t = m%n;
m = n;
n = t;
}
printf("m和n的最大公约数为:%d\n", n);
printf("m和n的最小公约数为:%d\n",(a*b)/n);
system("pause");
return 0;
}