用C语言写程序:输入仅一行,输入2个整数 ,输出多行,分行输出2到9之间的所有的同构数。
时间: 2023-05-25 22:03:36 浏览: 102
计算大整数的c语言程序
同构数指的是将一个数字的各位数按照另一种顺序排列得到的数与原数相等的数字,如 123 和 321 就是同构数。
以下是用 C 语言编写的程序:
```c
#include <stdio.h>
int main() {
int num1, num2, i, j, k, l;
scanf("%d %d", &num1, &num2);
for (i = 2; i <= 9; i++) {
for (j = 2; j <= 9; j++) {
if (i == j) continue; // 排列不重复
for (k = 2; k <= 9; k++) {
if (i == k || j == k) continue; // 排列不重复
for (l = 2; l <= 9; l++) {
if (i == l || j == l || k == l) continue; // 排列不重复
int n = i * 1000 + j * 100 + k * 10 + l;
if (n >= num1 && n <= num2 && num1 < num2) {
printf("%d\n", n);
}
}
}
}
}
return 0;
}
```
程序中首先读取输入的两个整数,然后使用四个嵌套的 for 循环枚举所有的 4 位数。在循环体中,首先判断当前的四个数字有没有重复,然后将它们依次组成一个 4 位数,判断该数是否在区间内,并输出。
需要注意的是,要排除所有个位数为 0 的 4 位数,因为同构数不能包含 0。
阅读全文