階乘(Factorial)是從1 x 2 x 3 x …. x n 記作 n!
其中比較特別的是 0! = 1, 原因為 n! = n x (n-1)! 而 1! = 1 = 1 x 0! 所以定義了 0! = 1
不過今天不是要談這個, 而是要用程式計算 n! 的確實值, 用什麼程式語言可以做到呢? Python3
來看看程式吧:
p = 1 for i in range(1,100000): p *= i print(p) print(len(str(p)))
根據 Python 算出來的結果為 28242294079603478742934…….
共有 456569 位數.
厲害的地方是 Python 3 沒有位數的限制, 可以算出這麼多位, 真的太強了呢. 有興趣的朋友可以線上執行:
https://colab.research.google.com/drive/1ayDGtmAiWYRzhPXOUc_uefvQD8RXvIp_
以上為使用 Google colaboratory 服務執行. 記得要使用 Python 3 就沒有位數上限(有的話是在記憶體上限, Python 2則有位數的上限)
[2018/5/18 12:12]
補充一下, 使用 python 內建數學函數庫的方式:
import math p = math.factorial(99999) print(p) print(len(str(p))) type(p)
線上執行:
https://colab.research.google.com/drive/1_n9r6gq-p-7qoT6wjeiTVsnntwktaj8q
當然, 結果還是一樣的.