6-2 求e的x次方的近似数 - 实验12 用函数实现模块化程序设计- 《Python编程基础及应用实验教程》,高教社
分数 10
全屏浏览
切换布局
作者 海洋饼干叔叔
单位 重庆大学
ex的近似数求解可用公式(12-1)来实现,当最后一项小于10−6时停止计算,小于10−6的最后一项不参与求和。
针对上面的近似公式,可以把问题分解为“求各项值函数”和“求和函数”。而“求各项值函数”又可以分解为“求幂函数”和“求阶乘函数”。
下述程序中已给出“求和函数”sum(x)以及相关输入输出代码,请编写并提交powers(x,n)以及fac(n)函数的定义,使得程序可以运行并输出正确结果。
函数接口定义:
def powers(x,n) def fac(n)
其中,powers(x,n)函数计算并返回xn; fac(n)函数计算并返回n! 。
裁判测试程序样例:
#在此处提供powers以及fac函数的定义 def sum(x): i=0 s=0 while (powers(x,i)/fac(i))>=1e-6: s=s+powers(x,i)/fac(i) i=i+1 return s x=int(input()) ex=sum(x) print("%d powers of e = %.4f"%(x,ex))
输入样例:
10
输出样例:
10 powers of e = 22026.4658
答案:
def powers(x,n):
return x**n
def fac(n):
if n==0:
return 1
else:
s=1
for i in range(1,n+1):
s*=i
return s