1/1 + 1/2 + 1/3 + 1/4 + ... 在数学上称为调和级数,求前多少项的和才超过15.0?


如果An是全部不为0的等差数列,则1/An就称为调和数列,求和所得即为调和级数,易得,所有调和级数都是发散于无穷的。

1/1 + 1/2 + 1/3 + 1/4 + ... 在数学上称为调和级数。


它是发散的,也就是说,只要加上足够多的项,就可以得到任意大的数字。

但是,它发散的很慢:

前1项和达到 1.0
前4项和才超过 2.0
前83项的和才超过 5.0

那么,请你计算一下,要加多少项,才能使得和达到或超过 15.0 呢?

请填写这个整数。

注意:只需要填写一个整数,不要填写任何多余的内容。比如说明文字。

源代码:

#include<stdio.h>
 
int main()
{
	double sum=0;
	long i=1;
	while(1)
	{
		sum = sum+1.0/i;
		if(sum>=15.0)
		{
			break;
		}
		i++;
	}
	printf("%ld\n",i);
	return 0;
}

答案:1835421  不是1835422!!

#include<stdio.h>
 
int main()
{
	long i=0;
	double sum=0;

	while(sum<=15.0)
	{
		i++;//因为i的初值是0所以要先做i自增,不然下面的i作为分母为0就错了 
		sum = sum+1.0/i;
	}
	printf("%ld\n",i);
	return 0;
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

绝地反击T

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值