問題 31
(中級 🌟🌟) 与えられた自然数が素数かどうか判定せよ。
def isPrime (n : Nat) : Bool :=
if n == 0 || n == 1 then
false
else
let properDivisors := List.range n
|>.drop 2
|>.filter (n % · == 0)
properDivisors.length == 0
#guard isPrime 7 == true
#guard isPrime (7 * 43) == false
#guard isPrime 307 == true
#guard isPrime 0 == false
#guard isPrime 1 == false