酷代码 AI
菜单

输入两个正整数 a,ba,b,如果 aa 是奇数,输出 aa 到 bb 之间所有的奇数,如果 aa 是偶数,则输出 aa 到 bb 之间所有的偶数。C++

```cpp #include <iostream> using namespace std; int main() { int a, b; cout << "请输入两个正整数 a 和 b: "; cin >> a >> b; // 判断起始数字是奇数还是偶数 int start_val = (a % 2 == 1) ? 1 : 0; // 循环从 a 到 b 输出符合条件的数字 for (int i = a; i <= b; i++) { if (i % 2 == start_val) { cout << i << " "; } } cout << endl; return 0; } ``` 代码解释: 1. 输入环节:代码开始通过`cin`从用户那里获取两个正整数`a`和`b`,这是后续操作的基础数据。 2. 确定起始情况:通过判断`a`除以 2 的余数,若余数为 1 则`a`是奇数,将`start_val`设为 1;若余数为 0 则`a`是偶数,`start_val`设为 0。`start_val`用于标记我们要输出的数字特征。 3. 循环输出:利用`for`循环遍历从`a`到`b`的每一个整数`i`,在每次循环中,检查`i`除以 2 的余数是否和`start_val`相等,若相等就将`i`输出,这样就能保证输出的数字和`a`具有相同的奇偶性。 4. 换行:所有符合要求的数字输出完成后,使用`cout << endl;`进行换行操作,使输出更清晰。 复杂度分析: - 时间复杂度:$O(b - a + 1)$,因为代码中使用了一个从`a`到`b`的循环,会对`b - a + 1`个元素进行遍历。 - 空间复杂度:$O(1)$,代码只使用了几个固定的额外变量,占用的空间不会随着输入`a`和`b`的变化而变化。 [2025-12-14 23:18:53 | AI问答 | 481点数解答]

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