solution k = [ (a `div` d, b `div` d, n) | n <- [k+1 ..],
let { a = (n - k);
b = (n*k - 1);
d = gcd a b },
d > k ]
main = do
print (take 5 (solution 2))
print (take 5 (solution 3))
print (take 5 (solution 4))
print (take 5 (solution 5))
Выдает по пять первых решений для каждой из задач:
Вот так это выглядит на Хаскеле
Date: 2007-05-15 20:32 (UTC)solution k = [ (a `div` d, b `div` d, n) | n <- [k+1 ..], let { a = (n - k); b = (n*k - 1); d = gcd a b }, d > k ] main = do print (take 5 (solution 2)) print (take 5 (solution 3)) print (take 5 (solution 4)) print (take 5 (solution 5))Выдает по пять первых решений для каждой из задач: