python编程问题

img


这个函数如何用python编写出来?要求是计算速度快。
我用递归思想编写,return 1/(n-1)*(f(n-1)+1/f(n-1))。计算n=100时特别慢。有没有快速计算的方法?

1.想要速度快,最好的办法是数学方法,先用通项公式计算出数列和公式,然后利用公式直接求和
2.你应该用循环来做
n-1项已经在变量里了,第n项只跟n-1项相关,只需要计算一次即可,复杂度O(N)
你用递归来做,那么第n项就需要计算n次,复杂度O(N^2)

f(n-1)提出来赋值给变量,能提速不少。