Python 練習例25

Python 100例

問題:1+2!+3!+...+20! の和を求めよ。

プログラム分析:このプログラムは、加算の累積を乗算の累積に変えただけのものです。

方法1

#!/usr/bin/python # -*- coding: UTF-8 -*- n = 0 s = 0 t = 1 for n in range(1,21): t *= n s += t print ('1! + 2! + 3! + ... + 20! = %d' % s)

方法2

#!/usr/bin/python # -*- coding: UTF-8 -*- 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)

上記の実行結果は次のとおりです:

1! + 2! + 3! + ... + 20! = 2561327494111820313

Python 100例

その他の拡張