Siema, mam pytanie co do ostatniej matury próbnej w grudniu 2024 co do zadania 1.2. Nie dostałem za nie punktów lecz zdaje mi się że zrobiłem je dobrze. Zadanie 1 brzmi tak:
"Dla danej dodatniej liczby całkowitej n niech J(n) będzie ciągiem kolejnych pozycji jedynek
(cyfr 1) w jej zapisie dwójkowym, zaczynając od pozycji najmniej znaczącej (ostatniej).
Pozycje cyfr w zapisie liczby numerujemy od 1 (zaczynamy od ostatniej pozycji). "
Zadanie 1.2:
W pseudojęzyku lub w wybranym języku programowania zapisz algorytm, który dla danej
liczby całkowitej dodatniej n wypisuje kolejne elementy ciągu J(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, nie wolno używać zwłaszcza żadnych funkcji zamiany typów danych.
Specyfikacja:
Dane:
n – dodatnia liczba całkowita
Wynik:
kolejne elementy ciągu J(n)
Rozwiązanie Przykładowe CKE:
b = 1
dopóki n > 0 wykonuj:
jeżeli n mod 2 = 1
wypisz(b)
n = n div 2
b = b + 1
A takie rozwiązanie podałem:
miejsce = 1
while n > 0:
if n % 2 != 0:
print(miejsce)
n = n//2
miejsce += 1
Robiłem to w Pythonie i działało poprawnie, a potem przepisałem na kartkę i dostałem 0 punktów. Czy może mi ktoś powiedzieć czy moja odpowiedź jest zła i co w niej jest nie tak? Z góry dziękuję