C语言:编写一个函数,求两个数的最大公约数与最小公倍数。
#include <stdio.h>
//求最大公约数与最小公倍数
void f(int m, int n)
{
int k, a, b;
//如果两者中在任意一个为小于等于0
if (m <= 0 || n <= 0)
{
printf("Error\n");
}
else
{
//交换两个数,让较大的一个等于a,较小的一个数等于b
if (m < n) {
a = n;
b = m;
}
else {
a = m;
b = n;
}
//辗转相除法
while (b != 0)
{
k = a % b;
a = b;
b = k;
}
printf("%d 和 %d的最大公约数:%d\n", m, n, a);
printf("%d 和 %d的最小公倍数:%d\n", m, n, m * n / a);
}
}
int main() {
f(25, 75);
}