#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main() {
int a, b;
int m, n;
printf("请输入两个数:\n");
scanf("%d%d", &a, &b);
for (m = a <= b ? a : b; m >= 1; m--) {
if (a % m == 0 && b % m == 0) {
printf("%d与%d的最大公约数为:%d\n", a, b, m);
break;
}
}
for (n = a >= b ? a : b; n <= a*b; n++) {
if (n % a == 0 && n % b == 0) {
printf("%d与%d的最小公倍数为:%d\n", a, b, n);
break;
}
}
return 0;
}
求最大公约数(辗转相除法)
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
int main() {
int a, b, r;
printf("请输入两个数:\n");
scanf("%d%d", &a, &b);
if (a < b) {
r = a;
a = b;
b = r;
}
while (r) {
r = a % b;
a = b;
b = r;
}
printf("最大公约数为:%d\n", a);
return 0;
}