Zadanie 2.4.
Właściciele sieci sklepów ulokowanych na wszystkich planetach galaktyki postanowili dostarczyć do sklepów kalkulatory, które będą dodawały ceny w opisany powyżej sposób. Aby pomóc właścicielom, podaj algorytm dodawania (w postaci pseudokodu lub w języku programowania), który dla dwóch liczb
a i
b zapisanych w systemie o podstawie
p∈[2,9] wyznacza i wypisuje wartość sumy
a +p b zapisaną w systemie o podstawie p zgodnie z poniższą specyfikacją. Twój algorytm
nie może dokonywać zamiany liczb
a i
b na inny system pozycyjny.
Specyfikacja
Dane:
p — podstawa systemu, liczba naturalna z przedziału [2,9],
n — liczba cyfr liczb naturalnych a, b ≤ 255 (przyjmujemy, że krótsza liczba jest uzupełniona
z lewej strony zerami, tak aby obie liczby miały taką samą długość),
A[n], A[n−1],..., A[1] — kolejne cyfry liczby a zapisanej w systemie o podstawie p,
B[n], B[n−1],..., B[1] — kolejne cyfry liczby b zapisanej w systemie o podstawie p,
Wyniki:
wartość liczby c = a +p b zapisana w systemie o podstawie p w postaci ciągu cyfr
C[n+1], C[n],…,C[1].
Przykład
Dla następujących danych:
p = 4
n = 4,
Liczba a = 31224
Liczba b = 214
Wynikiem jest liczba c = 32034
Zawartość tablic A, B, C:
i
|
5
|
4
|
3
|
2
|
1
|
A[i]
|
|
3
|
1
|
2
|
2
|
B[i]
|
|
0
|
0
|
2
|
1
|
C[i]
|
0
|
3
|
2
|
0
|
3
|