私は素早くfactorialを計算するfuctionを作っています。この21を計算する方法!迅速に(21階乗)?
func factorial(factorialNumber: UInt64) -> UInt64 {
if factorialNumber == 0 {
return 1
} else {
return factorialNumber * factorial(factorialNumber - 1)
}
}
let x = factorial(20)
のように、こののfuctionは私がUINT64_MAXより大きな階乗(21)値を考えてそれまでは20
を計算することができます。
次に21を計算する方法!迅速に(21階乗)?
:どのようにループを使用する方法について
。少なくとも些細なことではない。私はそのような数を計算できる言語は知らない。 – dasdom
私は個人的に使っていませんが、https://github.com/kirsteins/BigIntegerなどのライブラリを試すことができます – Kevin
醜いかもしれませんが、各繰り返しの結果をUIint、それは紙のように複数のことができます。効率的ではないが、BigIntegerライブラリはより有用に見えるが、これもオプションである。 –