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.