BME Villamosmérnöki és Informatikai Kar
Műszaki informatika szak |
Nappali tagozat
2004/2005. tanév, tavaszi félév
|
A kis házi feladat beadása nem kötelező.
adottOsszeguek
néven, amely kielégíti az alábbi specifikációt:
(* adottOsszeguek : int * int list -> int list list adottOsszeguek(s, xs) = az xs szomszédos elemeiből álló, de egymást nem átfedő adott összegű sorozatokból képzett olyan listák listája, amelyek az elemek eredeti sorrendjét megőrzik, és amelyekben az elemek összege s. *)Segédfüggvényeket definiálhat. A jobbrekurzív függvényekből generált számítási folyamatok kevesebb tárterületet használnak, mint a nemjobbrekurzív függvényekből generáltak, ezért ajánljuk, hogy jobbrekurzív függvényeket írjon, ám ez nem kötelező, a pontozásba nem számít bele.
adottOsszeguek (9, [1, 2, 3, 4, 5, 4, 3, 2, 1]) = [[2, 3, 4], [5, 4]]; (* de [4, 3, 2] már nem, mert átfedésben lenne [5, 4]-gyel *) adottOsszeguek (3, [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) = [[1, 1, 1], [1, 1, 1], [1, 1, 1]]; (* de az utolsó két 1-essel már nem képezhető további sorozat *) adottOsszeguek (1073741823, [1073741823, 73741822, 1, 1000000000]) = [[1073741823], [73741822, 1, 1000000000]]; (* a programnak még Int.maxInt-et is tudnia kell kezelni *) adottOsszeguek (1073741822, [1073741823, 73741822, 1, 1000000000]) = []; (* mert nem képezhető egyetlen s összegű sorozat sem *)
khf-ml2.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. április 18., hétfő 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 (a 100 pontból).