![]() |
1
21
@Kiv's answer 是正确的,但如果不需要无限精度,则对于大n来说速度很慢。最好使用 asymptotic formula 在这种情况下:
@基夫的回答 对于Python2.6:
例子:
AT
|
![]() |
2
12
@recursive's solution 对于浮点近似值是正确的。如果愿意,可以使用分数模块在Python3.0中获得确切的答案:
请注意,数字的数量增长很快,因此这将需要大量的内存来存储大n。如果您真的想得到更多信息,还可以使用生成器来查看部分和的序列。 |
![]() |
3
5
只是在其他使用浮点的答案上的一个脚注;从最大除数开始并迭代 向下地 (朝向最大值的倒数)将尽可能推迟累积的舍入误差。 |
![]() |
4
4
谐波级数发散,即其和是无穷大。 编辑:除非你想要部分和,但你不太清楚。 |
![]() |
5
4
一个快速、准确、平滑、复值的h函数可以用digamma函数来计算,如前所述 here . euler-mascheroni(gamma)常数和digamma函数分别在numpy和scipy库中可用。
下面是速度和精度的三种方法的比较(以kiv_h为参考):
|
![]() |
6
2
这应该能起到作用。
|
![]() |
7
0
这个怎么样:
其中1000000是上限。 |
![]() |
8
0
作业? 这是一个发散级数,所以不可能对所有项求和。 我不知道Python,但我知道如何用Java编写它。
|
![]() |
9
0
我添加了另一个解决方案,这次使用递归,以找到第n个谐波数。 一般实施细节
功能原型:
功能参数:
基本情况:
如果
重复步骤:
如果不是基本情况,请致电
伪码(这个解决方案也可以用其他语言轻松实现。)
python代码
|
![]() |
10
-1
使用simple for循环
|
![]() |
Diret · 获取范围内每个数字的子倍数的算法 2 年前 |
![]() |
Saif · 排序时python如何决定何时调用比较器? 2 年前 |
![]() |
Wadu Hek · 查找列表中唯一的重复项 2 年前 |
![]() |
Crawford Patten · 如何获得整数列表的四分位数 2 年前 |
![]() |
MoonGoose · 如何在python中围绕特殊字符创建空间? 2 年前 |
![]() |
taha khamis · 在一个数字中组合元素的省道 3 年前 |
![]() |
Soup · 比O(n)更快地找到阶乘n模m 3 年前 |
![]() |
BigO · 单词积分游戏不断增加数字[关闭] 3 年前 |