C++ 实现:找出使 1+1/2+...+1/n>k 的最小正整数 n
```cpp #include <iostream> // 此程序用于找出满足 Sn > k 的最小正整数 n // Sn = 1 + 1/2 + 1/3 + ... + 1/n // 主函数,程序的入口 int main() { int k; // 从标准输入读取一个整数 k std::cin >> k; double Sn = 0; int n = 1; // 循环计算 Sn,直到 Sn > k while (Sn <= k) { Sn += 1.0 / n; n++; } // 输出满足 Sn > k 的最小 n std::cout << n - 1 << std::endl; return 0; } ``` 代码解释 1. 输入处理:程序从标准输入读取一个整数`k`,这是题目要求的目标值。 2. 初始化变量:`Sn`用于存储累加和,初始化为0;`n`表示当前项数,初始化为1。 3. 循环累加:使用`while`循环不断累加`1/n`到`Sn`,直到`Sn`大于`k`。每次循环`n`加1。 4. 输出结果:由于最后一次循环结束后`n`多加了1,所以输出`n - 1`作为满足`Sn > k`的最小`n`。 复杂度分析 - 时间复杂度:$O(n)$,其中`n`是满足`Sn > k`的最小`n`。 - 空间复杂度:$O(1)$,只使用了常数级的额外空间。 ######[AI问答 | 378点数解答 | 2026-02-07 11:55:17]
相关提问
- Python 实现球类:精准计算半径、表面积与体积,附输入验证与异常处理!(阿里通义 | 261点数解答 | 2024-11-28 21:19:39)369
- 旅行售货员问题:详细步骤剖析与贪心算法Python代码实现(字节豆包 | 444点数解答 | 2024-12-17 03:32:59)288
- Dev C++ 实现旅行售货员问题:最小路程路线代码与详细解析 (字节豆包 | 448点数解答 | 2024-12-17 03:33:42)192
- C++ 求解 P1020 小核桃与删除字符串问题:双指针与枚举策略 (字节豆包 | 330点数解答 | 2026-02-07 18:40:10)33
- 51 单片机:定时器 0 实现 8 个 LED 循环点亮,附代码及优化建议(字节豆包 | 1193点数解答 | 2024-12-27 15:10:29)341
- C++ 实现查找指定数字在正整数序列中的位置(字节豆包 | 398点数解答 | 2026-04-11 13:08:06)25
- C++ 实现统计指定数字在数组中出现的次数(字节豆包 | 377点数解答 | 2026-04-11 13:09:11)24
- iOS开发:手把手教你完整实现代理模式,含声明与实现步骤!(阿里通义 | 268点数解答 | 2023-11-08 00:39:55)270
- JavaScript 开发:用 Animation 实现自定义动画的简易教程 (阿里通义 | 333点数解答 | 2023-11-09 01:50:07)261
- 用 JS 中 for 循环实现 1 到 100 相加并输出结果到页面的完整代码 ( | 240点数解答 | 2024-05-20 22:11:29)493
- 用 JS 的 while 循环实现 1 到 100 相加并输出到页面的代码揭秘( | 47点数解答 | 2024-05-20 22:16:48)377
- Vue.js 与 Matter.js 碰撞:轻松实现物理模拟全攻略 (讯飞星火 | 522点数解答 | 2024-05-29 22:26:06)447