[HackerRank]很長的階乘(Extra Long Factorials)

題目描述

您將會得到一個整數N,輸出整數N的階乘結果。

N! = N * (N - 1) * (N - 2) * ⋯ * 3 * 2 * 1

原題網址

https://www.hackerrank.com/challenges/extra-long-factorials

輸入格式

輸入一個整數N,範圍在1到100之間(包含1和100)。

輸出格式

輸出N的階乘

範例輸入

25

範例輸出

15511210043330985984000000

注意,當N大於20的時候N階乘的結果將會超過64bit長整數所能表示的範圍,所以這題需要進行大數運算。

解題概念

直接使用Java內建的BigInteger類別來進行整數的大數運算。BigInteger物件的multiply方法可以將目前的BigInteger物件與另一個BigInteger物件進行乘法運算,接著再回傳新產生、儲存著計算結果的BigInteger物件。

參考答案

關於作者

Magic Len

各位好,我是Magic Len,是這網站的管理員。我是台灣台中大肚山上人,畢業於台中高工資訊科和台灣科技大學資訊工程系,曾在桃機航警局服役。我熱愛自然也熱愛科學,喜歡和別人分享自己的知識與經驗。如果你有興趣認識我,可以加我的Facebook,並且請註明是從MagicLen來的。

相關文章