酷代码 AI
菜单

一个正整数,如果它能被7整除,或者它的某一位上的数字为7,则称它为“与7相关”的数。现在,请变成求出所有小于等于n的“与7无关的数”的正整数个数。 输入 一行一个正整数n,n<=10^6 输出 一行一个整数,表示答案(c++)

```cpp #include <iostream> // 检查一个数是否与7相关 bool isRelatedTo7(int num) { if (num % 7 == 0) return true; while (num > 0) { if (num % 10 == 7) return true; num /= 10; } return false; } int main() { int n; std::cin >> n; int count = 0; for (int i = 1; i <= n; i++) { if (!isRelatedTo7(i)) count++; } std::cout << count << std::endl; return 0; } ``` 代码解释 1. 函数 `isRelatedTo7`:用于判断一个数是否与7相关。首先检查该数是否能被7整除,如果能则返回 `true`。接着,通过循环逐位检查该数的每一位是否为7,如果有一位是7也返回 `true`,若都不满足则返回 `false`。 2. 主函数 `main`: - 读取用户输入的整数 `n`。 - 初始化计数器 `count` 为0。 - 使用 `for` 循环遍历从1到 `n` 的所有正整数,对于每个数调用 `isRelatedTo7` 函数判断是否与7无关,若无关则将计数器 `count` 加1。 - 最后输出计数器 `count` 的值,即小于等于 `n` 的“与7无关的数”的正整数个数。 [2026-02-05 21:23:18 | AI问答 | 367点数解答]

服务商
相关提问
发财导航,免费问AI
实用工具查看更多