酷代码 AI
菜单
服务商
DeepSeek字节豆包
更多选项

个位为5的数字输出与区间求和判断3的倍数C++实现

好的,我们先来解答第二个题目,然后来看第一个题目。 --- 🎯 **问题解析** 题目要求输出从 `1` 到 `n` 之间所有个位数为 `5` 的整数。个位是 `5` 的数可以表示为 `i % 10 == 5`。题目特别说明“最后一个数后加空格”,所以每个数后都要输出一个空格。 💻 **C++ 代码实现** ```cpp #include <iostream> using namespace std; int main() { int n; cin >> n; for (int i = 1; i <= n; ++i) { if (i % 10 == 5) { cout << i << " "; // 每个数后都加空格 } } cout << endl; return 0; } ``` 🔍 **关键说明** - 使用 `i % 10 == 5` 判断个位是否为 `5`。 - 直接在符合条件的数后输出空格,满足“最后一个数后加空格”的要求。 - 注意输入范围为 `1` 到 `n`,直接循环即可。 🧪 **测试示例** 输入:`20` → 输出:`5 15 `(末尾有空格) 输入:`50` → 输出:`5 15 25 35 45 `(末尾有空格) --- 🎯 **问题解析** 输入两个整数 `a` 和 `b`,先求和,再判断这个和是否为 `3` 的倍数。输出 `YES` 或 `NO`(大写)。求和可以用循环或等差数列公式,但要注意数据范围,用 `long long` 防止溢出。 💻 **C++ 代码实现** ```cpp #include <iostream> using namespace std; int main() { int a, b; cin >> a >> b; // 确保 a <= b,方便求和 if (a > b) swap(a, b); // 等差数列求和公式 long long sum = (long long)(a + b) * (b - a + 1) / 2; if (sum % 3 == 0) { cout << "YES" << endl; } else { cout << "NO" << endl; } return 0; } ``` 🔍 **关键说明** - 先交换以保证 `a <= b`,避免区间混乱。 - 使用 `(a + b) * 项数 / 2` 快速求和,用 `long long` 防止溢出。 - 判断和是否为 `3` 的倍数,注意输出大写英文。 🧪 **测试示例** 输入:`1 3` → 和 `1+2+3=6`,是3的倍数 → 输出 `YES` 输入:`2 5` → 和 `2+3+4+5=14`,不是3的倍数 → 输出 `NO` --- ######[AI问答 | 676点数解答 | 2026-08-06 20:34:58]

相关提问
本站限时免费提问中
实用工具查看更多
Linux在线手册 [开发类]
Jquery在线手册 [开发类]
今日油价 [生活类]
图片互转base64 [开发类]
时间转换器 [开发类]