Darmowe konto pozwoli wrócić do niego później.
Polecenie
Zadanie 2.2. (0–4)
W pseudokodzie lub w zadeklarowanym języku programowania zapisz algorytm, który oblicza największe takie k, dla którego tablica T jest k-podobna.
Uwaga: W zapisie algorytmu możesz korzystać tylko z operatorów arytmetycznych: dodawania, odejmowania, mnożenia, dzielenia, dzielenia całkowitego i reszty z dzielenia; operatorów logicznych, porównań liczb, odwoływania się za pomocą indeksów do pojedynczych elementów tablicy, instrukcji sterujących, instrukcji przypisania lub samodzielnie napisanych funkcji i procedur wykorzystujących powyższe operacje. Zabronione jest używanie funkcji wbudowanych oraz operatorów innych niż wymienione, dostępnych w językach programowania, w szczególności nie wolno używać operacji pobierania fragmentu tablicy (listy).
Darmowe konto pozwoli wrócić do niego później.
Dane:
n – liczba całkowita większa od 1
T[1..n] – tablica n liczb
Wynik:
k – największe takie k, dla którego tablica T jest k-podobna
k ← n – 1
jest ← fałsz
dopóki jest = fałsz
jest ← prawda
dla i = 1, 2, .., k wykonaj
jeżeli (T[i] ≠ T[n – k + i])
jest ← fałsz
jeżeli jest = fałsz
k ← k – 1
za poprawny algorytm, w tym:
za poprawną pętlę po potencjalnych k (od 0 do n-1 lub od n-1 do 0)
za poprawną pętlę sprawdzającą potencjalne k
za poprawny warunek w pętli sprawdzającej potencjalne k
za otrzymanie poprawnego wyniku
odpowiedź niepoprawna albo brak rozwiązania
Za każde inne, ale całkowicie poprawne rozwiązanie spełniające warunki zadania przyznajemy maksymalną liczbę punktów.
Ocena według schematu punktowania CKE, zwykle w 15–30 s
Dowiedz się, ile punktów naprawdę zdobywasz. Zrób zdjęcie kartki albo wklej odpowiedź: Maturownik+ porówna ją ze schematem punktowania, policzy punkty i wytłumaczy, gdzie i dlaczego je tracisz.