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

相关推荐
Chh071518 分钟前
《R语言SCI期刊论文绘图专题计划》大纲
开发语言·r语言
Yeats_Liao20 分钟前
Go 语言 TCP 端口扫描器实现与 Goroutine 池原理
开发语言·tcp/ip·golang
Wendy_robot44 分钟前
【滑动窗口+哈希表/数组记录】Leetcode 438. 找到字符串中所有字母异位词
c++·算法·leetcode
程序员-King.1 小时前
day49—双指针+贪心—验证回文串(LeetCode-680)
算法·leetcode·贪心算法·双指针
Thomas_YXQ1 小时前
Unity3D IK解算器技术分析
开发语言·搜索引擎·unity·全文检索·unity3d·lucene
船长@Quant1 小时前
文档构建:Sphinx全面使用指南 — 基础篇
python·markdown·sphinx·文档构建
喵手1 小时前
从 Java 到 Kotlin:在现有项目中迁移的最佳实践!
java·python·kotlin
liuweidong08021 小时前
【Pandas】pandas DataFrame rsub
开发语言·python·pandas
转基因1 小时前
Codeforces Round 1020 (Div. 3)(题解ABCDEF)
数据结构·c++·算法
whoarethenext2 小时前
c++的jsoncpp使用
开发语言·c++·jsoncpp