Hogyan tudok 10-es számrendszerbeli számot átírni kettes számrendszerbe haskellben?
Implementáld a Bin függvényt, amely visszaadja egy nemnegatív egész szám kettes számrendszerbeli számjegyeit fordított sorrendben!
Példák:
Bin 0 ==[]
Bin 1 == [1]
Bin 2 == [0,1]
Bin 10 == [0, 1, 0, 1]
Idáig jutottam a kódommal, de a rekurziónál mikor a c értéknek vissza akarom adni az elemeket az nem jó. Tudna valaki segíteni hogyan kellene ezt megoldani ?
Bin :: Integer -> [Int]
Bin 0 = []
Bin c = (x:m:xs) = x : Bin m xs
where ( a , b )= divMod c 2
kiszámolod az (a, b)-t de ezeket sehol nem használod fel
helyette van 3 olyan, ami sehol nincs definiálva
és egy sorban 2 "=" az nem lesz jó
b-t kellene a lista elejére fűzni, a-t pedig továbbadni a függvénynek
decToBin x = reverse $ decToBin' x
where
decToBin' 0 = []
decToBin' y = let (a,b) = quotRem y 2 in [b] ++ decToBin' a
Lásd:
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
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!