【程序25】阶乘 求和

'''
【程序25】 题目:求1+2!+3!+...+20!的和
1.程序分析:将每个数累乘的结果再累加起来。
解法一,比较省时间,只算一遍21的阶乘,前面的每个数为中间结果
解法二,把每个数都算了一遍阶乘,再求和。
'''
'''
2.知识点
sum(iterable[, start])
将对序列求和,要求是一个数字的序列,start默认为0,表示序列起始下标。

map(function, iterable, ...)
取出序列的每一元素作为function的参数,得到的以function结果为元素的序列。
如果序列不止一个,则每次次取出所有序列的一个元素,作为function的参数,因此function
参数的数目必须和序列数一致。
'''
#Python3.3.5
#方法一
n = 0
s = 0
t = 1
for n in range(1,21):
    t *= n
    s += t
print('1! + 2! + 3! + ... + 20! = %d'%s)

#方法二
s = 0
l = range(1,21)
def op(x):
    r = 1
    for i in range(1,x + 1):
        r *= i
    return r
s = sum(map(op,l))
print('1! + 2! + 3! + ... + 20! = %d'%s)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值