From c5fcf7179a83ef65c86c6a4a390029149e518649 Mon Sep 17 00:00:00 2001 From: Franciszek Malinka Date: Tue, 5 Oct 2021 21:49:54 +0200 Subject: Duzy commit ze smieciami --- Semestr 3/anm/numerki/lista2/rozw.ml | 33 --------------------------------- 1 file changed, 33 deletions(-) delete mode 100644 Semestr 3/anm/numerki/lista2/rozw.ml (limited to 'Semestr 3/anm/numerki/lista2') diff --git a/Semestr 3/anm/numerki/lista2/rozw.ml b/Semestr 3/anm/numerki/lista2/rozw.ml deleted file mode 100644 index f946051..0000000 --- a/Semestr 3/anm/numerki/lista2/rozw.ml +++ /dev/null @@ -1,33 +0,0 @@ -(* Zadanie 1 *) - -let sublists l = - let rec backtrack sl = function - | [] -> [sl] - | hd :: tl -> (backtrack (sl @ [hd]) tl) @ backtrack sl tl - in backtrack [] l - - -(* Zadanie 2 *) - -(* Znalezione tutaj: https://stackoverflow.com/questions/2710233/how-to-get-a-sub-list-from-a-list-in-ocaml *) - -let rec super_sublist b e = function - | [] -> failwith "empty list" - | hd :: tl -> - let tail = if e <= 1 then [] else super_sublist (b - 1) (e - 1) tl in - if b > 0 then tail else hd :: tail - -(* Moje rozwiązanie: *) - -let rec sublist b e l = - let rec suffix idx l = - if idx = 0 then l else suffix (idx - 1) (List.tl l) in - let rec prefix idx l = - if idx = 0 then [] else (List.hd l) :: (prefix (idx - 1) (List.tl l)) in - prefix (e - 1) (suffix b l) - -let cycle_with_sub sublist_fun xs n = - sublist_fun n (n + (List.length xs)) (xs @ xs) - -let super_cycle = cycle_with_sub super_sublist -let cycle = cycle_with_sub sublist -- cgit v1.2.3