graphlogo

Wydział Matematyki i Informatyki

Uniwersytetu Mikołaja Kopernika w Toruniu

1inf 2023/24 - Podstawy algorytmiki i programowania, LC*

[E] E. Pseudo-binarnie
Data zakończenia: 2023-12-13 16:00
Języki: c cpp
Limit czasu: 3.0 s
Limit pamięci: 32 MB
Limit rozmiaru rozwiązania: 100 kB
Gdy liczba jest wyrażona w systemie dziesiętnym, k-ta cyfra reprezentuje wielokrotność 10k. (Cyfry są numerowane od prawej do lewej, gdzie najmniej znacząca cyfra ma numer 0). Na przykład,

81307(10) = 8×104 + 1×103 + 3×102 + 0×101 + 7×100 = 80000 + 1000 + 300 + 0 + 7 = 81307.

Gdy liczba jest wyrażona w postaci binarnej, k-ta cyfra reprezentuje wielokrotność 2k. Na przykład,

10011(2) = 1×24 + 0×23 + 0×22 + 1×21 + 1×20 = 16 + 0 + 0 + 2 + 1 = 19.

W reprezentacji pseudo-binarnej k-ta cyfra reprezentuje wielokrotność 2k+1 - 1. Możliwe cyfry to 0 i 1, z tym że najmniej znacząca niezerowa cyfra może być równa 2. Na przykład,

10120(pseudo2) = 1×(25-1) + 0×(24-1) + 1×(23-1) + 2×(22-1) + 0×(21-1) = 31 + 0 + 7 + 6 + 0 = 44.

Pierwsze 10 liczb naturalnych ma reprezentacje pseudo-binarne 0, 1, 2, 10, 11, 12, 20, 100, 101 i 102. (Ta reprezentacja jest przydatna w niektórych zastosowaniach, ponieważ możliwe jest dodanie 1, z co najwyżej jednym przeniesieniem. Jednakże nie ma to nic wspólnego z obecnym problemem.)

Wejście
Plik wejściowy zawiera jeden lub więcej wierszy, z których każdy zawiera liczbę całkowitą n. Jeśli n = 0 oznacza to koniec wejścia, w przeciwnym wypadku, n jest nieujemną liczbą całkowitą w postaci pseudo-binarnej.

Wyjście
Dla każdej liczby, wypisz na wyjściu jej dziesiętny odpowiednik. Wartość dziesiętna liczby n nie przekroczy 231 - 1 = 2147483647.

Przykładowe wejście

10120
200000000000000000000000000000
10
1000000000000000000000000000000
11
100
11111000001110000101101102000
0

Przykładowe wyjście

44
2147483646
3
2147483647
4
7
1041110737
Powrót
© 2009-2020 • ZawodyWeb Team
IKS - Inwestycja w Kierunki Strategiczne na Wydziale Matematyki i Informatyki UMK

Projekt współfinansowany ze środków Unii Europejskiej w ramach Europejskiego Funduszu Społecznego