python 实现harmonic series调和级数算法

harmonic series调和级数算法介绍

调和级数(Harmonic Series)是一个在数学中非常重要的级数,其形式为无穷级数:
H n = ∑ k = 1 n 1 k H_n=\sum_{k=1}^{n}\frac{1}{k} Hn=k=1∑nk1

其中,

𝑛

n 是正整数。这个级数是由调和数列(Harmonic sequence)的各元素相加所得的和。调和级数的名字源于泛音及泛音列,即一条振动的弦的泛音的波长依次是基本波长的 1 2 、 1 3 、 1 4 \frac{1}{2}、\frac{1}{3}、\frac{1}{4} 21、31、41 等。

调和级数的性质

发散性:调和级数是一个发散的无穷级数,也就是说,它的部分和随着项数的增加而无限增长。这个性质最早由中世纪后期的数学家Oresme证明,随后在17世纪由皮耶特罗·曼戈里、约翰·伯努利和雅各布·伯努利等人完成了全部证明工作。

增长速度 :尽管调和级数是发散的,但其发散的速度非常缓慢。例如,调和序列前10项的和还不足2.9(具体为 1 1 + 1 2 + 1 3 + ... + 1 10 ≈ 2.928968 \frac{1}{1}+\frac{1}{2}+\frac{1}{3}+...+\frac{1}{10}≈2.928968 11+21+31+...+101≈2.928968),这是因为调和数列的部分和呈对数增长。

调和级数的计算

由于调和级数是发散的,因此无法直接计算出其"总和"到一个具体的有限值。然而,数学家们通过不同的方法(如积分判别法、柯西并项判别法等)研究了其发散的性质,并发现了一些与之相关的常数和性质。

例如,调和级数的部分和与欧拉常数(Euler-Mascheroni constant)有关。欧拉常数是一个数学常数,大约等于0.5772156649,它表示了调和级数与自然对数之间的某种联系。

调和级数的推广

调和级数可以推广到更一般的形式:

H n ( α ) = ∑ k = 1 n 1 k α H_n(α)=\sum_{k=1}^{n}\frac{1}{k^α} Hn(α)=k=1∑nkα1

其中,α 是任意实数。当 α>1 时,H_n(α) 是收敛的;当 0 \< α ≤ 1 时, 是收敛的;当 0\<α≤1 时, 是收敛的;当0\<α≤1时,H_n(α)是发散的。

结论

调和级数的算法主要在于理解其发散性和增长速度,以及如何通过数学方法(如积分判别法)来研究其性质。由于调和级数是发散的,因此无法直接计算其总和,但可以通过研究其部分和的性质来深入了解这个重要的数学对象。

harmonic series调和级数算法python实现样例

下面是使用Python实现调和级数算法的代码:

python 复制代码
def harmonic_series(n):
    result = 0
    for i in range(1, n+1):
        result += 1/i
    return result

n = int(input("请输入一个正整数: "))
print("调和级数的值为:", harmonic_series(n))

在上面的代码中,我们定义了一个名为harmonic_series的函数,接受一个正整数n作为参数。该函数使用一个循环来计算调和级数的值,循环从1到n遍历每个整数,然后将其倒数加到结果中。最后,函数返回计算出的调和级数的值。

在主程序中,我们首先通过input函数获取用户输入的正整数n,然后调用harmonic_series函数来计算调和级数的值,并将结果打印出来。

相关推荐
面会菜.5 分钟前
C语言(队列)
c语言·开发语言
开心比对错重要10 分钟前
leetcode69.x 的平方根
数据结构·算法·leetcode
美狐美颜sdk18 分钟前
什么是美颜SDK?从几何变换到深度学习驱动的美颜算法详解
人工智能·深度学习·算法·美颜sdk·第三方美颜sdk·视频美颜sdk·美颜api
香精煎鱼香翅捞饭22 分钟前
java通用自研接口限流组件
java·开发语言
苏格拉真没有底28 分钟前
python实现mqtt消息转Tcp消息
网络·python·tcp/ip
m0_4615026931 分钟前
【贪心算法1】
算法·贪心算法
-凌凌漆-32 分钟前
【C#】async与await介绍
开发语言·c#
天才测试猿34 分钟前
功能测试详解
自动化测试·软件测试·python·功能测试·测试工具·职场和发展·测试用例
小猿_0042 分钟前
C语言单链表头插法
c语言·开发语言
Doopny@1 小时前
数字组合(信息学奥赛一本通-1291)
数据结构·算法·动态规划