﻿#题目：求1+2!+3!+...+20!的和。

# -*- coding: UTF-8 -*-

class Jieadd:
    #方法一
    def compute():
        n = 0
        s = 0
        t = 1
        for n in range(1,21):
            t *= n
            s += t
        print '1! + 2! + 3! + ... + 20! = %d' % s
        
    #方法二
    def compute2():
        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

if __name__=='__main__':
    com=Jieadd()
    com.compute
    com.compute2
