1.有 1、2、3、4个数字,能组成多少互不相同且无重复的三位? 都是多少?
#include <stdio.h>
int main() {
int count = 0;
printf("由1、2、3、4组成的互不相同且无重复的三位数有:\n");
for (int i = 1; i <= 4; i++) { // 百位数
for (int j = 1; j <= 4; j++) { // 十位数
for (int k = 1; k <= 4; k++) { // 个位数
if (i != j && j != k && i != k) { // 确保三位数互不相同
printf("%d%d%d\n", i, j, k);
count++;
}
}
}
}
printf("共有 %d 个三位数。\n", count);
return 0;
}
2输入两个正整数m和n,求其最大公约数和最小公倍数
#include <stdio.h>
// 函数声明
int gcd(int a, int b);
int lcm(int a, int b);
int main() {
int m, n;
// 输入两个正整数
printf("请输入两个正整数 m 和 n: ");
scanf("%d %d", &m, &n);
// 计算最大公约数和最小公倍数
int gcdResult = gcd(m, n);
int lcmResult = lcm(m, n);
// 输出结果
printf("最大公约数 (GCD) 为: %d\n", gcdResult);
printf("最小公倍数 (LCM) 为: %d\n", lcmResult);
return 0;
}
// 计算最大公约数 (GCD) 的函数
int gcd(int a, int b) {
while (b != 0) {
int temp = b;
b = a % b;
a = temp;
}
return a;
}
// 计算最小公倍数 (LCM) 的函数
int lcm(int a, int b) {
return (a * b) / gcd(a, b);
}