Darmowe konto pozwoli wrócić do niego później.
Polecenie
W postaci pseudokodu lub w wybranym języku programowania napisz nierekurencyjną funkcję przestaw2, która dla danej nieujemnej liczby całkowitej n da taką samą wartość jak przestaw(n).
Uwaga: Twój algorytm może używać wyłącznie zmiennych przechowujących liczby całkowite oraz może operować wyłącznie na liczbach całkowitych. W zapisie możesz wykorzystać tylko operacje arytmetyczne: dodawanie, odejmowanie, mnożenie, dzielenie, dzielenie całkowite, resztę z dzielenia oraz porównywanie liczb, 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, w tym – funkcji przestaw.
Specyfikacja:
Dane: n – nieujemna liczba całkowita
Darmowe konto pozwoli wrócić do niego później.
Wynik: w – nieujemna liczba całkowita, wynik działania taki sam jak po wykonaniu przestaw(n)
funkcja przestaw2(n)
w ← 0
p ← 1
dopóki n > 0 wykonuj
r ← n mod 100
a ← r div 10
b ← r mod 10
jeżeli n > 9
w ← p*a + 10*p*b + w
w przeciwnym razie
w ← p*b + w
n ← n div 100
p ← p*100
zwróć w
za poprawny algorytm, w tym:
za poprawne przypisanie wartości początkowych zmiennym w oraz p (potęga 100) oraz modyfikację zmiennej oznaczającej potęgę 100
za poprawną pętlę (warunek i dzielenie przez 100)
za poprawną zamianę cyfr
za otrzymanie poprawnego wyniku.
Algorytm powinien iteracyjnie przetwarzać pary cyfr, zamieniać je miejscami i budować wynik z odpowiednimi współczynnikami potęg 100.
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.