今天在百度上逛一些ctf的平台,偶然发现一道编程题,于是乎,便用我刚刚学的python知识解了这道题
题目的描述是这样的:
计算1!+2!+3!+...+6666!后五位。
这个计算量很大啊,我还是用传统方法,让计算机算吧
这里是代码:
1 #-*- coding:utf-8 -*- 2 #计算1!+2!+3!+......+n! 3 import sys 4 5 def fact(x): 6 result = 1 7 for i in xrange(2,x+1): 8 result *= i 9 return result10 11 def end_result(n):12 result1 = 013 for i in xrange(1,n+1):14 result1 += fact(i)15 return result116 17 if __name__ == '__main__':18 num = int(sys.argv[1])19 print end_result(num)
不得不说python的强大,这么长的数据都能列出来