1/1 + 1/2 + 1/3 + 1/4 + … 在数学上称为调和级数。
它是发散的,也就是说,只要加上足够多的项,就可以得到任意大的数字。
但是,它发散的很慢:
前1项和达到 1.0
前4项和才超过 2.0
前83项的和才超过 5.0
那么,请你计算一下,要加多少项,才能使得和达到或超过 15.0 呢?
请填写这个整数。
注意:只需要填写一个整数,不要填写任何多余的内容。比如说明文字。
#include <iostream>
using namespace std;
int main()
{
double sum=0;
int n=1;
while(sum<15)
{
sum=sum+1.0/n;//注意这里的1.0
n++;
}
cout<<n<<endl;

这篇博客讨论了数学上的调和级数,并指出其虽然发散但速度缓慢。作者通过一个蓝桥杯比赛题目为例,要求计算使和超过15.0所需的项数。文章提醒读者避免使用递归,推荐使用循环来解决此类问题,以防止栈溢出,并强调对浮点数处理的重要性。
最低0.47元/天 解锁文章
3082

被折叠的 条评论
为什么被折叠?



