Rozwinięcie liczby całkowitej w układzie liczenia o podstawie k możemy uzyskać korzystając z prostego algorytmu rekurencyjnego.
W jaki sposób wypisać wszystkie cyfry liczby n=724?
Ostatnią z nich na pewno będzie cyfra 4. Wystarczy zatem wypisać
najpierw cyfry wcześniejsze, czyli cyfry liczby 72, po czym dopisać
cyfrę 4.
Cyfrę ostatnią otrzymamy z wyrażenia n mod 10, liczbę równą wcześniejszym
cyfrom z wyrażenia n div 10. Podstawę układu liczenia 10
można zastąpić dowolną inną podstawą.
Sys_k(n, k) - zamień liczbę dziesiętną n na jej zapis w systemie o podstawie k 1. Jeśli n>=k, to Sys_k(n div k, k) 2. Wypisz n mod k
Napisz program, który każdą z liczb zapisze w układzie o podanej podstawie.
W każdym wierszu wejścia zapisano parę liczb całkowitych - liczbę n z zakresu 0..109 oraz podstawę układu liczenia k z zakresu 2..9.
Każde rozwinięcie liczby wejściowej należy zapisać zgodnie z przykładem.
Wiersz ostatni powinien zawierać ilość wszystkich wywołań funkcji rekurencyjnej
wyznaczającej rozwinięcia podanych liczb.
Dla danych podanych na wejściu:
15 3 14 7 2 5 3 3 22 7 14 2 13 7 6 7 6 5 5 8 11 7 0 9 11 8 5 7 7 2 0 9 18 6
Poprawną odpowiedzią jest wyjście:
15 [10] = 120 [3] 14 [10] = 20 [7] 2 [10] = 2 [5] 3 [10] = 10 [3] 22 [10] = 31 [7] 14 [10] = 1110 [2] 13 [10] = 16 [7] 6 [10] = 6 [7] 6 [10] = 11 [5] 5 [10] = 5 [8] 11 [10] = 14 [7] 0 [10] = 0 [9] 11 [10] = 13 [8] 5 [10] = 5 [7] 7 [10] = 111 [2] 0 [10] = 0 [9] 18 [10] = 30 [6] 32
Jeśli chcesz zobaczyć inny przykład odśwież tę stronę klawiszem F5
Opcje zadania:
Biblioteki : iostream iomanip cmath string Limit czasu : 0.1 s Limit pamięci : 32 MB Słowa niedozwolone :