![]() |
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循环
|
![]() |
Muhammad Umer · 为什么这个随机数猜谜游戏模拟产生5.8 7 月前 |
![]() |
Alisa Petrova · 在有向图中更改一对顶点以创建循环 8 月前 |
|
D W · Python-将浮点数从2转换为10到100位小数 8 月前 |
![]() |
Bartol · 确定python龟图形中的角度 1 年前 |
|
randomAlgo · 将弹簧设置为相同长度的成本最低 1 年前 |
![]() |
Fyodor · 在C中使用sin和cos计算数学表达式不正确? 1 年前 |
![]() |
Sergio · python中大量数字的乘法 1 年前 |