From: Martin Mares Date: Sat, 15 Mar 2008 15:11:59 +0000 (+0100) Subject: Fixed factorization. X-Git-Url: http://mj.ucw.cz/gitweb/?a=commitdiff_plain;h=b058af01f9b352966240ad45788be00f3746ce11;p=misc.git Fixed factorization. --- diff --git a/pyth.hs b/pyth.hs index 82e44fd..a59845b 100644 --- a/pyth.hs +++ b/pyth.hs @@ -7,7 +7,8 @@ sqr x = x*x -- Find (p,q) such that x=p^2*q and q is square-free sqf' :: Int -> Int -> (Int,Int) sqf' _ 1 = (1,1) -sqf' d x | x `mod` (sqr d) == 0 = (d*p1,q1) +sqf' d x | x < (sqr d) = (1,x) + | x `mod` (sqr d) == 0 = (d*p1,q1) | x `mod` d == 0 = (p2,d*q2) | True = sqf' (d+1) x where (p1,q1) = sqf' d (x `div` (sqr d))