Project Euler Problem 020
http://projecteuler.net/index.php?section=problems&id=20
n! means n (n 1) ... 3 2 1 Find the sum of the digits in the number 100!
100の階乗の各桁の合計。非常にてきとう。
import operator import datetime def sum_of_digits(n): result = 0 while n: result += n % 10 n /= 10 return result def factorial(n): return reduce(operator.mul, xrange(1, n+1)) begin = datetime.datetime.now() print sum_of_digits(factorial(100)) end = datetime.datetime.now() print end - begin
答え: 648
実行時間: 0.001527秒くらい