请用1,2,5,7,8,9六个数字,每个数字至多用一次,求能被75整除的数,看一共有多少个这样的数用C语言实现
时间: 2024-01-13 13:05:36 浏览: 29
用C语言实现:
```c
#include <stdio.h>
int count = 0; // 记录符合条件的数的个数
void dfs(int num, int used) { // num表示当前的数,used表示哪些数字已经使用过
if (num % 75 == 0) { // 如果当前的数能被75整除,计数器加一
count++;
}
if (used == 31) { // 如果所有数字都已经使用过,返回
return;
}
if (!(used & 1)) { // 如果1没有使用过,可以在个位添加1
dfs(num * 10 + 1, used | 1);
}
if (!(used & 2)) { // 如果2没有使用过,可以在个位添加2
dfs(num * 10 + 2, used | 2);
}
if (!(used & 4)) { // 如果5没有使用过,可以在个位添加5
dfs(num * 10 + 5, used | 4);
}
if (!(used & 8)) { // 如果7没有使用过,可以在个位添加7
dfs(num * 10 + 7, used | 8);
}
if (!(used & 16)) { // 如果8没有使用过,可以在个位添加8
dfs(num * 10 + 8, used | 16);
}
if (!(used & 32)) { // 如果9没有使用过,可以在个位添加9
dfs(num * 10 + 9, used | 32);
}
}
int main() {
dfs(0, 0); // 从0开始搜索
printf("%d\n", count); // 输出符合条件的数的个数
return 0;
}
```
输出结果为:10。符合条件的数为:1257、1575、1755、5175、5751、7155、7515、7755、8157、8751。