数列求和
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,表示程序正常结束
}
如果您有更优的解法,欢迎在评论区一起交流噢~
阅读剩余
作者:小鱼
链接:https://www.52stu.com/?p=154
文章版权归作者所有,未经允许请勿转载。
链接:https://www.52stu.com/?p=154
文章版权归作者所有,未经允许请勿转载。
THE END