Exerciții updated
1. Scrieți o funcție ce primește un număr si o listă de numere de forma [a1, a2, … an] ca parametrii și calculează X - a1 - a2 - … - an.
2. Inversați o listă folosind foldl.
3. Scrieți o închidere funcțională care elimină caracterul 'a' dintr-un string primit ca parametru. Scrieți o implementare ce utilizează o funcție de tip fold și alta care se folosește funcția filter.
4. Implementați o funcție ce primește ca parametru o lista de string-uri și returnează concatenarea lor folosind fold.
5. Se dau două cuvinte de aceeași lungime. Să se numere câte caractere sunt diferite în cele doua șiruri.
6. Implementați o funcție ce primește 2 parametri: un șir de cifre de forma “111222111333112” și un număr K. Această funcție trebuie să facă următorii pași de K ori:
- se grupează cifrele identice în felul următor “111222111333112” → [“111”, “222”, “111”, “333”, “11”, “2”]
- pentru fiecare element din lista rezultată se generează un element de forma (numărul de apariții al cifrei din șir, cifra din șir) ex: [“111”, “222”, “111”, “333”, “11”, “2”] → [(“3”, “1”), (“3”, “2”), (“3”, “1”), (“3”, “3”), (“2”, “1”), (“1”, “2”)]
- se face flatten pe lista rezultată la pasul anterior ex: [(“3”, “1”), (“3”, “2”), (“3”, “1”), (“3”, “3”), (“2”, “1”), (“1”, “2”)] → “313231332112”