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函数来计算调和级数的值,并将结果打印出来。

相关推荐
倒头就睡的小比特13 小时前
算法竞赛C++常用的STL
c++·算法
默_笙13 小时前
🍙 给每个请求过安检:FastAPI 是怎么把校验写进类型注解的
python
小羊没烦恼!14 小时前
初探性能优化——2个月到4小时的性能提升
java·开发语言·windows·算法·c#
qq_4260039614 小时前
启动playwright录制codegen生成自动化测试脚本
python·自动化
虎头金猫14 小时前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
长沙三为智能科技14 小时前
家政小程序开发从0到上线:五阶段交付流程与验收清单
python
伞伞悦读15 小时前
【第38期】Python 模块与包详解:import、from、模块搜索路径、包结构和 __init__
开发语言·python
猎头南楼15 小时前
知识社区推荐系统实践:新用户冷启动与长短期兴趣建模的挑战 资深推荐算法工程师
人工智能·深度学习·算法·机器学习
只睡四小时15 小时前
Canvas 弹道联机实战:700 行 + 固定时间步长
python·websocket·html5·游戏开发·canvas
C语言小火车15 小时前
C/C++ 为什么需要编译器?
开发语言·c++