单独计算阶乘,计算阶乘求和的小程序,值得一试。

#第一种计算阶乘并且求和的方法
count=0
i=1
for i in range(1):
    count=count+i
    y1=i+(i+1)+(i+1)*(i+2)+(i+1)*(i+2)*(i+3)+(i+1)*(i+2)*(i+3)*(i+4)+
    (i+1)*(i+2)*(i+3)*(i+4)*(i+5)+(i+1)*(i+2)*(i+3)*(i+4)*(i+5)*(i+6)+
    (i+1)*(i+2)*(i+3)*(i+4)*(i+5)*(i+6)*(i+7)+(i+1)*(i+2)*(i+3)*(i+4)*(i+5)
    *(i+6)*(i+7)*(i+8)+(i+1)*(i+2)*(i+3)*(i+4)*(i+5)*(i+6)*(i+7)*(i+8
    )*(i+9)+(i+1)*(i+2)*(i+3)*(i+4)*(i+5)*(i+6)*(i+7)*(i+8)*(i+9)*(i+10)
    
print("1!+2!+3!+....10!={}".format(y1))
#第二种从fuctools函数中调取reudce函数计算单独阶乘
import functools
count=0
num=functools.reduce(lambda x,y:x*y,range(1,11))
count=count+num
print(count)
#可计算单独阶乘,不可求和。
jie=1#初始值为1
sum=0#从零开始计算
i=1#初始值为1
#可计算阶乘并求和
for i in range(1,11):
    jie=jie*i#计算单个阶乘
    i=i+1#阶乘数增大
    sum=sum+jie#逐渐递增求和
print(sum)#打印结果

猜你喜欢

转载自blog.csdn.net/m0_62491934/article/details/121318953