提交时间:2026-01-04 15:02:09

运行 ID: 80127

#include <iostream> #include <iomanip> using namespace std; int main() { int n; cin >> n; double sum = 0.0; long long p = 1, q = 2; // 使用long long防止大数溢出 for (int i = 0; i < n; i++) { // 1. 累加当前项 q/p sum += (double)q / p; // 2. 计算下一项的 p 和 q long long next_q = q + p; // q(i+1) = q(i) + p(i) long long next_p = q; // p(i+1) = q(i) // 3. 更新 p, q 为下一项的值 p = next_p; q = next_q; } // 输出结果,保留4位小数 cout << fixed << setprecision(4) << sum << endl; return 0; }