3和7倍数


输出一万以内的数,要求能被3和7整除,但数中又不含3和7

1
2
3
4
5
6
7
8
9
10
11
12
13
14
function findNumbers() {
const results = []
for (let i = 1; i <= 10000; i++) {
// 检查是否能被21整除
if (i % 21 === 0) {
let numStr = i.toString()
// 检查数中是否包含3或7
if (!numStr.includes('3') && !numStr.includes('7')) {
results.push(i)
}
}
}
return results;
}

c语言实现:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include <stdio.h>
#include <stdbool.h>

// 函数用于检查数字是否包含3或7
bool containsThreeOrSeven(int num) {
int temp = num;
while (temp > 0) {
int digit = temp % 10;
if (digit == 3 || digit == 7) {
return true;
}
temp /= 10;
}
return false;
}

int main() {
int count = 0;
for (int i = 1; i <= 10000; i++) {
if (i % 21 == 0 && !containsThreeOrSeven(i)) {
if (count > 0) {
printf(", ");
}
printf("%d", i);
count++;
}
}
printf("\n");
return 0;
}