Kezdőoldal » Számítástechnika » Programozás » Tökéletes számok kilistázása...

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:
100%

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]

2016. márc. 20. 11:53
Hasznos számodra ez a válasz?
 2/3 anonim ***** válasza:
100%

#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ó.

2016. márc. 20. 16:11
Hasznos számodra ez a válasz?
 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!