数列求和

Description

求恰好使S=1 + 1/2 + 1/3 ... + 1/n的值大于等于10时,n的值。

Input

不用输入

Output

输出n值

python解法

S = 0  # 初始化累加和 S 为 0

# 使用 for 循环从 1 遍历到某个足够大的数(例如 999999),这里不需要使用浮点数作为循环变量
for n in range(1, 1000000):  # range 函数生成一个从 1 到 999999 的整数序列
    S += 1/n  # 将 1/n 累加到 S 中
    if S >= 10:  # 如果累加和 S 大于或等于 10
        print(n)  # 输出当前的 n 值
        break  # 跳出循环

# 由于循环可能在某个点提前结束,可能不会输出最终的 S 值
# 如果需要输出最终的 S 值,可以在循环外部进行
print(S)

c++解法

#include<bits/stdc++.h>  // 引入一个常用的头文件,它几乎包含了C++标准库中的所有头文件
using namespace std;     // 使用std命名空间

int main() {              // 主函数,程序的入口点
    double S=0;          // 定义一个双精度浮点数S并初始化为0,用于存储累加的和

    // 开始一个for循环,从1开始,每次增加1,直到n小于等于999999
    for(double n=1; n<=999999; n++) {
        S+=1/n;          // 将1/n累加到S中
        if(S>=10){       // 如果S的值大于或等于10
            cout<<n<<endl;  // 输出当前的n值,并换行
            break;        // 跳出循环
        }
    }
    cout<<S<<endl;       // 输出累加后的S的值,并换行

    return 0;            // 返回0,表示程序正常结束
}
如果您有更优的解法,欢迎在评论区一起交流噢~
阅读剩余
THE END