BigInt for swift V3.5 BigIntの関数 数学関数(素数判定関数・完全平方数判定関数)
1. 素数判定関数
Miller-Rabin法による疑素数判定
isProbablePrime(_ n: BigInt, _ iterations: Int = 5) -> Bool
let n : BigInt = "32416190071"
let prime:Bool = BigInt.isProbablePrime(n, 5)
prine(prime)//→ false
// 高い確率で素数ではない
高桁数の素数判断
let n:BigInt = "39787968784624928246288248921242542651457986638221316865797"
let prime:Bool = BigInt.isProbablePrime(n, 5)
print(prime)//→ false 合成数
2. 完全平方数判定関数
n = m^2 か判定する。
isPerfectSquare(_ n: BigInt) -> Bool
let n : BigInt = 1973
let m : bool = BigInt.isPerfectSquare( n )
print(m) //→ false
高桁数の素数判断
let n:BigInt = "39787968784624928246288248921242542651457986638221316865797"
let prime:Bool = BigInt.isProbablePrime(n, 5)
print(prime)//→ false 合成数
