第十周项目2(从简单起)-计算1+1/2+1/3+...+1/20的和

/*           
*程序的版权和版本声明部分:           
*Copyright(c)2013,烟台大学计算机学院学生           
*All rights reserved.           
*文件名称:           
*作者:田成琳           
*完成日期:2013年 10月18 日           
*版本号:v1.0           
*对任务及求解方法的描述部分:           
*输入描述:1+1/2+1/3+...+1/20的值
*问题描述:1+1/2+1/3+...+1/20的值
*程序输出:sum 
*问题分析:           
*算法设计:           
*/      
我的程序:
#include<iostream>
using namespace std;
int main()
{
	double x,k,sum,y;                             //x是分子,分子始终为1;y是分母,从0开始,一直到20.
	x=1;
	y=0;
	sum=0;
	for(k=0;k<20;++k)
	{	
		++y;                                   //使用y前先加1
		sum=x/y+sum;	
	}
	cout<<"sum="<<sum<<endl;
	return 0;
}

运行结果:

心得体会:for语句中++x与x++分辨好。


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 这是一个调和级数,其前n项之和可以用以下公式计算: S = 1 + 1/3 + 1/5 + ... + 1/(2n-1) = ∑(i=1 to n) 1/(2i-1) 其中,∑表示求和符号,i是从1到n的整数,2i-1表示第i个奇数。 例如,当n=3时,S=1+1/3+1/5=1.5333。 当n=5时,S=1+1/3+1/5+1/7+1/9=1.8271。 当n=10时,S=1+1/3+1/5+...+1/19=1.6349。 当n趋近于无穷大时,S趋近于自然对数的常数e的值,即S→ln(e)=1。 ### 回答2: 这个序列是一个调和级数,它的通项公式为1/k,其中k为奇数。 第n项之和可以表示为: S_n = 1 + 1/3 + 1/5 + ... + 1/(2n-1) 由于这个序列没有一个通用的求和公式,我们需要采用其他方法来计算其前n项之和。 一种方法是通过数值逼近来求和,即将n不断增大,计算S_n的值,直到达到足够的精度。如在计算前10项之和时,我们可以得到: S_10 = 1 + 1/3 + 1/5 + 1/7 + 1/9 + 1/11 + 1/13 + 1/15 + 1/17 + 1/19 ≈ 1.63498 然而,这种方法的计算速度较慢,且需要多次精度调整,不太适合大规模计算。 另一种方法是利用级数求和公式,将调和级数转化为自然对数级数,即: ln2 = 1 - 1/2 + 1/3 - 1/4 + 1/5 - 1/6 + ... 可得: ln2 = S_∞ - 1/2S_∞ 化简得: S_∞ = 2ln2 因此,序列的前n项之和可以表示为: S_n = 2ln2 - 1/2(1 + 1/3 + 1/5 + ... + 1/(2n-1)) 对于后面的那个调和级数,我们可以用调和级数的渐近公式进行近似: 1 + 1/3 + 1/5 + ... + 1/(2n-1) ≈ ln(n) + γ,其中γ是欧拉常数,约为0.5772 因此,序列的前n项之和可以近似为: S_n ≈ 2ln2 - 1/2(ln(n) + γ) 这个公式的计算速度很快,且精度足够高,可以应用于大规模计算。 ### 回答3: 这个序列是一个无穷等比数列,公比为1/3。根据等比数列求和公式,这个序列的前n项和为: S_n = a_1 (1 - q^n) / (1 - q) 其中,a_1是第一项,即1,q是公比,即1/3。 把a_1和q代入公式,得到: S_n = 1 (1 - (1/3)^n) / (1 - 1/3) S_n = 3 / 2 (1 - (1/3)^n) 因此,这个序列的前n项和为3/2乘以1减去1/3的n次方。 需要注意的是,这个序列是无穷的,如果n趋近于无穷大,那么前n项和会趋近于S = 3/2。也就是说,这个序列的和是一个收敛的数列。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值