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 合成数