===== Least divisor function ===== ==== Function ==== | @#FFBB00: definiendum | @#FFBB00: $ \mathrm{ld}:\mathbb N^+\to\{1\}\cup\mathrm{Prime\ number} $ | | @#FFBB00: definiendum | @#FFBB00: $ \mathrm{ld}(n):=\mathrm{min}\left(\mathrm{divisors}(n)\right) $ | ----- === Code === == Haskell == divides :: Integral a => a -> a -> Bool divides d n = rem n d == 0 ld :: Integral a => a -> a ld n = ldf 2 n ldf :: Integral a => a -> a -> a ldf k n | divides k n = k | k^2 > n = n | otherwise = ldf (k+1) n using [[Set of divisors function]]: divides :: Integral a => a -> a -> Bool divides d n = rem n d == 0 === Theorems === If $n$ isn't a prime, then $n$ divided by the //least// divisor is some number bigger than $\mathrm{ld}(n)$ and hence ^ $\mathrm{ld}(n)^2\le n$ ^ ----- === Subset of === [[Surjective function]] === Requirements === [[Prime number]], [[Set of divisors function]] === Code reference === [[Set of divisors function]]