题目:
输入格式:
输入在一行中给出一个正整数 N,计算1+2!+……+N!。
输出格式:
在一行中按照“sum = F”的格式输出阶乘的值F,请注意等号的左右各有一个空格。题目保证计算结果不超过双精度范围。
思考:
1.for循环计算阶乘,再计算n个阶乘之和。
2.python中有自带模块。
代码:
1.for循环
x = int(input())
a = 1
sum=0
for i in range(1,x+1):
a = a*i
sum+=a
print("sum = %d" % float(sum))
2.while循环,考虑时间戳
import time
n=int(input())
b=time.time()
a=1
sum=0
i=1
while n>=i:
a=a*i
sum=sum+jie
i=i +1
c=time.time()
d=c-b
print(sum,d)
3.python自带模块factorial,递归的方法
def fac3(n):
from math import factorial
if n >= 0:
return factorial(n)
else: print('出错')
n=int(input())
sum=0
while n>0:
sum+=fac3(n)
n-=1
print(sum)