Temat zadania:
Rozważamy ciągi złożone z liczb całkowitych dodatnich. Jeżeli mamy pewien ciąg A, możemy skonstruować drugi ciąg B, będący opisem A, w następujący sposób: każdy fragment A będący p-krotnym powtórzeniem jednej liczby x zamieniamy na dwie liczby p i x w ciągu B.
Przykład: ciąg (1, 1, 3, 2, 2, 2, 1) to „dwie jedynki, jedna trójka, trzy dwójki i jedna jedynka”, a więc jego opis to (2, 1, 1, 3, 3, 2, 1, 1). Z kolei ciąg (2, 2, 2, 2, 5, 3, 3) to kolejno „cztery dwójki, jedna piątka, dwie trójki”, więc jego opis to (4, 2, 1, 5, 2, 3).
1.1. Uzupełnij poniższą tabelę – wpisz w odpowiednie pola: opisy dla podanych przykładów ciągu A, długości tych opisów oraz ciąg A, dla którego podano opis i długość tego opisu.

1.2. Zapisz w pseudokodzie lub wybranym języku programowania algorytm, który dla danego ciągu A, zapisanego w tablicy A[1..n], obliczy długość jego opisu (liczbę elementów ciągu B) zgodnie z podanymi wcześniej regułami.
Uwaga: W zapisie możesz wykorzystać tylko operacje arytmetyczne (dodawanie, odejmowanie, mnożenie, dzielenie, dzielenie całkowite, reszta z dzielenia), porównywanie znaków i liczb, odwoływanie się do pojedynczego elementu tablicy, instrukcje sterujące, przypisania do zmiennych lub samodzielnie napisane funkcje, wykorzystujące wyżej wymienione operacje. Zabronione jest używanie funkcji wbudowanych oraz operatorów innych niż wymienione, dostępnych w językach programowania.
- pseudokod:

- program w środowisku Python:

Przykładowe wywołanie:

Wioletta Wysopal
Nauczycielka informatyki
Tutaj pojawi się lista Twoich książek
Zaloguj się i zacznij tworzyć ją już teraz.

