Prihlásenie Registrácia  

C - Šach

Časový limit: 2s, Pamäťový limit: 64MiB

Programovacie jazyky: Pascal, C, C++, Java, C++0x, Python 3

Počet bodov: 1

[ Pošli riešenie ] [ Tvoje riešenia ] [ Správne riešenia ] [ Vzorové riešenie ]

Podľa legendy si vynálezca šachu žiadal od svojho panovníka nezvyčajnú odmenu. Z prvého políčka šachovnice chcel jedno zrnko pšenice, z druhého dve, z tretieho štyri, zo štvrtého osem, atď., teda vždy dvojnásobok toho čo z predchádzajúceho.

Úloha

V sýpke má panovník N zrniek pšenice. Aký je najväčší počet políčok, ktoré nimi dokáže zaplniť ?

Vstup

Prvý riadok vstupu obsahuje prirodzené číslo T určujúce počet testovacích vstupov (1≤T≤1000).
Každý z nasledujúcich T riadkov obsahuje kladné celé číslo N určujúce počet zrniek v sýpke (1≤N<264).

Výstup

Pre každé čislo N zo vstupu vypíšte najväčší počet políčok, ktoré sa dá zaplniť týmto počtom zrniek.
Program má dokopy vypísať T čísel, každé v samostatnom riadku.

Hint

Odporúčame pozrieť prehľad číselných dátových typov.

Príklad

Vstup

5 
15
30
1000000000
1
64

Výstup

4
4
29
1
6