Napisać deklarację funkcji f : int list → int list określonej następująco:
f(x) = lista otrzymana z listy x przez podzielenie wszystkich liczb parzystych w x przez 2 i powiększenie wszystkich liczb nieparzystych na liście x o 2.
Przykład:
f([1,2,3,4,5,6]) = [3,1,5,2,7,3]
Kod źródłowy:
fun append(x, y) = if null(x) then y else hd(x) :: append(tl(x), y) fun pn(x:int) = if x mod 2 = 0 then x div 2 else x+2 fun f(x) = if null(x) then x else append([pn(hd(x))],f(tl(x)));
Przypadek testowy:
f([1, 2, 3, 4, 5, 6]);
Brak komentarzy:
Prześlij komentarz