Project Euler 20
Project Euler 20
题目
Factorial digit sum
\(n!\) means \(n \times (n − 1) \times \dots \times 3 \times 2 \times 1\).
For example, \(10! = 10 \times 9 \times \dots \times 3 \times 2 \times 1 = 3628800\), and the sum of the digits in the number \(10!\) is \(3 + 6 + 2 + 8 + 8 + 0 + 0 = 27\).
Find the sum of the digits in the number \(100!\).
解决方案
使用sympy
库的factorial
直接计算阶乘的值,之后将封装在tools
自定义工具类中,以fac(n)
的方式调用。
利用和第16题类似的方式求出其每个数位的和。
代码
1 | from sympy import factorial |