| BME Villamosmérnöki és Informatikai Kar
Műszaki informatika szak |
Nappali tagozat
2005/2006. tanév, őszi félév
|
A kis házi feladat beadása nem kötelező.
Írjon olyan SML-eljárást parbafesult
néven, amely kielégíti az alábbi specifikációt:
(* parbafesult : int -> int
parbafesult n = k, ahol k >= 2 az a legkisebb természetes szám,
amelyre a k alapú számrendszerben felírt n decimális
szám párbafésült számsorozatot ad eredményül
*)
Segédeljárást definiálhat.
A jobbrekurzív eljárásokból generált számítási folyamatok kevesebb tárterületet használnak, mint a nemjobbrekurzív eljárásokból generáltak, ezért ajánljuk, hogy jobbrekurzív eljárásokat írjon, ám ez nem kötelező, a pontozásba nem számít bele.
parbafesult 10 = 2 (* mert 102 = 1 0 1 0 párbafésült *)
parbafesult 4 = 3 (* mert 43 = 1 1 párbafésült, de
42 = 1 0 0 nem az, mert nem páros a hossza *)
parbafesult 29 = 7 (* mert 297 = 4 1 párbafésült, de ... *)
parbafesult 143 = 12 (* mert 14312 = 11 11 párbafésült, de ... *)
parbafesult 293 = 18 (* mert 29318 = 16 5 párbafésült, de ... *)
parbafesult 30302239 = 76 (* mert 3030223976 = 69 2 17 51 párbafésült, de ... *)
Megjegyzés: nk az n decimális szám
k számrendszerben felírt alakját jelenti.
khf-ml1.sml néven kell beküldeni a
megoldást. A névben meg kell különböztetni a kis- és nagybetűket.
A beadási határidő 2005. november 2., szerda 24:00.
A vizsgaosztályzat megállapításakor a határidőre beadott, helyesen megoldott kis házi feladatért plusz 1 pont jár.