Bootstrap

C++系统性学习之数列求和

我们将学习如何使用C++编写一个程序,计算数列的和:1 + 1/2 + 1/3 + ... + 1/N。并要求保留6位小数。

问题描述

我们的任务是编写一个C++程序,接受用户输入的整数N,然后计算并输出数列的和。

解决方案

#include <iostream>
#include <iomanip>

using namespace std;

// 函数声明
double calculateSeriesSum(int N);

int main() {
    // 输入整数N
    cout << "请输入一个整数N(范围在0到1000): ";
    int N;
    cin >> N;

    // 调用函数计算数列的和
    double sum = calculateSeriesSum(N);

    // 输出结果并保留6位小数
    cout << fixed << setprecision(6) << sum << endl;

    return 0;
}

// 函数定义:计算数列的和
double calculateSeriesSum(int N) {
    double sum = 0.0;

    // 遍历数列并累加
    for (int i = 1; i <= N; ++i) {
        sum += 1.0 / i;
    }

    return sum;
}

悦读

道可道,非常道;名可名,非常名。 无名,天地之始,有名,万物之母。 故常无欲,以观其妙,常有欲,以观其徼。 此两者,同出而异名,同谓之玄,玄之又玄,众妙之门。

;