Symulujesz dodawanie pisemne od prawej. Cyfry wyciągasz wyłącznie arytmetyką — % 10 daje ostatnią, // 10 ją obcina. Żadnych napisów, list ani konwersji, bo treść ich zabrania.
Arkusz CKE — maj 2026, rozszerzony
Zasada — jedna kolumna
W każdej kolumnie liczysz cyfra a + cyfra b + przeniesienie z poprzedniej. Suma co najmniej 10 oznacza przeniesienie do następnej kolumny i podbicie licznika. Mniej — przeniesienie wraca do zera.
Ślad dla 27732 + 72619:
| krok | cyfra a | cyfra b | przen. wej. | suma | przen. wyj. | p |
|---|---|---|---|---|---|---|
| 1 | 2 | 9 | 0 | 11 | 1 | 1 |
| 2 | 3 | 1 | 1 | 5 | 0 | 1 |
| 3 | 7 | 6 | 0 | 13 | 1 | 2 |
| 4 | 7 | 2 | 1 | 10 | 1 | 3 |
| 5 | 2 | 7 | 1 | 10 | 1 | 4 |
Cztery przeniesienia.
Zadanie 2.1 — uzupełnienie tabeli
liczba a | liczba b | przeniesień |
|---|---|---|
| 37932 | 12528 | 3 |
| 88765 | 11111 | 0 |
| 456789 | 222222 | 3 |
88765 + 11111 — każda kolumna to najwyżej 8+1=9, nigdy nie dobijasz do dziesiątki. Zero przeniesień.
456789 + 222222 — od prawej 9+2=11, 8+2+1=11, 7+2+1=10, potem 6+2+1=9 i koniec. Trzy z rzędu.
Zadanie 2.2 — algorytm
Treść zabrania funkcji wbudowanych, list, konwersji typu i operatorów innych niż arytmetyczne, logiczne i porównania. Poniższy kod spełnia wszystko — używa tylko %, //, +, porównań i pętli.
def przeniesienia(a, b):
p = 0
przeniesienie = 0
while a > 0:
suma = a % 10 + b % 10 + przeniesienie
if suma >= 10:
przeniesienie = 1
p = p + 1
else:
przeniesienie = 0
a = a // 10
b = b // 10
return p
Warunek while a > 0 wystarcza, bo z treści obie liczby mają tę samą liczbę cyfr. Ewentualne ostatnie przeniesienie i tak nie wygeneruje kolejnego.
W pseudokodzie, jeśli wolisz tę formę:
Dane: a, b – liczby o tej samej liczbie cyfr
Wynik: p – liczba przeniesień
p ← 0
przeniesienie ← 0
dopóki a > 0:
suma ← a mod 10 + b mod 10 + przeniesienie
jeżeli suma >= 10:
przeniesienie ← 1
p ← p + 1
w przeciwnym razie:
przeniesienie ← 0
a ← a div 10
b ← b div 10
zwróć p
Gdzie tracisz punkty
- Pominięte przeniesienie z poprzedniej kolumny. Patrz krok 4 w tabeli:
7 + 2 = 9, ale z przeniesieniem to10— i to jest przeniesienie. Najczęstszy błąd w całym zadaniu. - Myślenie, że
% 10to funkcja wbudowana. Nie jest, to operator arytmetyczny i jest w pełni dozwolony. Zakaz dotyczystr(),int(),len(),bin(). - Brak jawnej inicjalizacji.
p ← 0iprzeniesienie ← 0muszą być wewnątrz algorytmu. Ich brak to punktowany błąd.
Ten sam wzorzec w innych arkuszach
Dodawanie „pod kreską" z przeniesieniami to jeden mechanizm, zmienia się tylko próg — 10, 3 albo 2:
- maj 2025, zad. 5 — dodawanie binarne — ten sam schemat przy progu 2
- maj 2026, zad. 5 — systemy liczbowe — konwersje między systemami
Wyciąganie cyfr przez % 10 i // 10 wraca w maju 2024, zad. 2 (Cyfry) i grudniu 2024, zad. 3 (liczby czterocyfrowe).
Z tego samego arkusza: zad. 1 (rekurencja), zad. 3 (pary słów).
Cyfry przez % 10 i // 10 to wzorzec, który rozwiązuje kilkanaście zadań z ostatnich lat. Cała mapa — Variant.


