用c++代码实现8、2、6、9中的每个数字至少在这个整数中出现一次,而且没有除了这四个之外的其他数字。 小龙想知道在1和N(含N)之间有多少个满足这一条件的整数
时间: 2024-05-11 18:13:53 浏览: 13
以下是实现该功能的C代码:
```c
#include <stdio.h>
int check(int n) {
int digits[10] = {0}; // 用于记录数字出现情况的数组
while (n > 0) {
digits[n % 10] = 1; // 记录数字出现
n /= 10;
}
// 检查四个数字是否都出现过
return (digits[8] && digits[2] && digits[6] && digits[9]);
}
int main() {
int N, count = 0;
printf("请输入N的值:");
scanf("%d", &N);
for (int i = 1; i <= N; i++) {
if (check(i)) {
count++;
}
}
printf("满足条件的整数个数为:%d\n", count);
return 0;
}
```
代码中的`check`函数用于检查一个整数是否满足题目的条件,即四个数字都至少出现一次。该函数首先初始化一个长度为10的整型数组`digits`,用于记录每个数字是否出现过。然后对于输入的整数,不断取其个位数,将对应的`digits`数组的元素置为1。最后,检查四个数字在数组中是否都出现过,返回结果。
在`main`函数中,我们从1到N遍历每个整数,如果满足条件,就将计数器`count`加1。最后输出`count`的值即可。
相关推荐
![application/x-rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)