酷代码 AI
菜单
服务商

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

```cpp #include <iostream> using namespace std; // 检查一个数是否与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; cin >> n; int count = 0; for (int i = 1; i <= n; i++) { if (!isRelatedTo7(i)) { count++; } } cout << count << endl; return 0; } ``` 代码解释 1. `isRelatedTo7`函数:用于判断一个数是否与7相关。首先检查该数是否能被7整除,如果能则直接返回`true`。接着,通过不断取余和整除操作,检查该数的每一位是否为7,如果有一位是7则返回`true`,否则返回`false`。 2. `main`函数: - 从标准输入读取一个正整数`n`。 - 使用一个循环遍历从1到`n`的所有正整数。 - 对于每个数,调用`isRelatedTo7`函数判断是否与7无关,如果无关则计数器`count`加1。 - 最后输出计数器的值。 [2026-02-07 17:48:39 | AI问答 | 335点数解答]

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