酷代码 AI
菜单

题目描述 现有一个正整数 n 请判断 n 是否为 3,5,7 的倍数 输入格式 一行,一个正整数 n。 输出格式 判断 n 是否为 3,5,7 的倍数,若是则输出对应的数字,注意输出的数字之间使用一个空格间隔。 (提示:不需要考虑 n 都不是 3,5,7 的倍数的情况)c++

```cpp #include <iostream> int main() { int n; // 读取输入的正整数 n std::cin >> n; // 判断 n 是否为 3 的倍数,如果是则输出 3 if (n % 3 == 0) { std::cout << 3; } // 判断 n 是否为 5 的倍数,如果是且前面已经输出过数字则先输出空格再输出 5 if (n % 5 == 0) { if (n % 3 == 0) { std::cout << " "; } std::cout << 5; } // 判断 n 是否为 7 的倍数,如果是且前面已经输出过数字则先输出空格再输出 7 if (n % 7 == 0) { if (n % 3 == 0 || n % 5 == 0) { std::cout << " "; } std::cout << 7; } std::cout << std::endl; return 0; } ``` 代码解释: 1. 输入读取:使用 `std::cin` 读取用户输入的正整数 `n`。 2. 判断是否为 3 的倍数:通过 `n % 3 == 0` 判断 `n` 是否为 3 的倍数,如果是则输出 3。 3. 判断是否为 5 的倍数:通过 `n % 5 == 0` 判断 `n` 是否为 5 的倍数,如果是且前面已经输出过 3,则先输出一个空格再输出 5。 4. 判断是否为 7 的倍数:通过 `n % 7 == 0` 判断 `n` 是否为 7 的倍数,如果是且前面已经输出过 3 或 5,则先输出一个空格再输出 7。 5. 换行:最后使用 `std::cout << std::endl;` 进行换行。 复杂度分析: - 时间复杂度:$O(1)$,因为只进行了常数级别的操作。 - 空间复杂度:$O(1)$,只使用了常数级别的额外空间。 [2025-12-20 20:27:22 | AI问答 | 509点数解答]

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