day39
递归处理数列
编写一个函数,输入 n 为偶数时,调用函数求 1/2+1/4+…+
1/n,当输入 n 为奇数时,调用函数 1/1+1/3+…+1/n
分析
1.随机产生一个数
2.写两个函数分别处理奇数和偶数
3.分别用递归算法实现求和运算
编码实现
1.编码实现(循环递归实现)
import random as rdm
def OddFun(d):#奇数函数
if d==0:
return 0
elif d==1:
return 1/1
else:
return 1/d+OddFun(d-2)
def EvenFun(d):#偶数函数
if d==0:
return 0
elif d == 2:
return 1 / 2
else:
return 1 / d + OddFun(d - 2)
n=rdm.randint(1,100)
print(f"随机产生的n为{n}")
print("计算结果为:",end=" ")
if n%2==0:
print(EvenFun(n))
else:
print(OddFun(n))
运行结果
随机产生的n为40
计算结果为: 1.798869828571841