是否存在一个由1~9组成的9位数,每个数字只能出现一次,且这个9位数由高位到低位前i位能被i整除?写一个c语言代码
时间: 2024-03-17 14:47:06 浏览: 127
是的,可以用程序来验证这个结果。以下是一个简单的 C 语言代码,用于检查一个由 1~9 组成的 9 位数是否满足条件:
```c
#include <stdio.h>
int check(int num) {
int digits[9], i, j, temp, flag = 1;
for (i = 0; i < 9; i++) {
digits[i] = num % 10;
num /= 10;
}
for (i = 1; i <= 9; i++) {
temp = 0;
for (j = 0; j < i; j++) {
temp = temp * 10 + digits[j];
}
if (temp % i != 0) {
flag = 0;
break;
}
}
return flag;
}
int main() {
int num = 123456789;
do {
if (check(num)) {
printf("%d\n", num);
}
num++;
} while (num <= 987654321);
return 0;
}
```
这个程序从 123456789 开始递增地检查每一个由 1~9 组成的 9 位数,如果满足条件就输出。
阅读全文