Mam problem 21 w eulerproject. Jedna część wymaga znalezienia listy właściwych dzielników liczby. tj. tam, gdzie pozostała liczba: n
i pewna liczba mniej niż n
. Więc zrobiłem tego Haskella, ale GHCI wpada w złość na mnie.Tworzenie listy dzielników w Haskell
divisors n =[ n | n <- [1..(n-1)], n `rem` [1..(n-1)] ==0 ]
Problem polega na tym, że nie wiem jak zrobić:
n `rem` [1..(n-1)]
tak, że tylko zwraca liczbę mniejszą niż n
które dzielą równo na n
.
Dlaczego rozumienie listów nie jest bardzo Haskellem? Również małe pytanie, czy istnieje sposób na znalezienie sumy wszystkich list na liście? –
Nie jestem weteranem Haskella w żaden sposób, ale tak naprawdę nie widziałem na przykład żadnych informacji na listach używanych w bibliotekach Haskella. Mała odpowiedź: 'suma $ suma map x ', na przykład' suma $ suma map [[1,2,3], [4,5,6], [7,8,9]] 'w wyniku czego 45. –
Lub 'suma. concat', który pierwszy tworzy jedną dużą listę. –