Tökéletes számok kilistázása haskellben, egyetlen listakifejezéssel?
Figyelt kérdés
2016. márc. 20. 10:16
1/3 anonim válasza:
Nem igazán ismerem a Haskell szintaktikát de szerintem ennek így, vagy kis módosítással működnie kéne:
[x | x <- [1..], sum [y | y <- [1..x `div` 2], x `mod` y == 0] == x] :: [Int]
2/3 anonim válasza:
#1 vagyok.
Közben hazaértem, kipróbáltam és úgy tűnik hogy jól működik a kód amit írtam. A belső listanézet listázza az osztókat, sum függvénnyel összegzem őket és listázom azokat a számokat amik megegyeznek az osztóik összegével, szintén egy listanézetben. A :: [Int] a végén azért van ott hogy kiírásnál a fordító tudja milyen típust tárolok a listában. Nem voltam biztos a szintaktikában és google-lel néztem utána, de minden funkcionális nyelvben nagyon hasonló.
3/3 A kérdező kommentje:
Köszönöm a segítséget! Már értem is, hogy működik :)
2016. márc. 20. 18:58
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!