#1505
B210
Vasilică tocmai a învăţat la şcoală despre sistemul de numeraţie cu baza 2
. I se pare interesant şi a inventat jocul b210
, pe care vrea să îl joace cu prietenul său Gigel. Vasilică îi spune lui Gigel un număr natural nenul n
, scris în baza 10
. Gigel trebuie să scrie numărul în baza 2
, obţinând astfel o secvenţă de cifre binare, care începe cu 1
. Asupra scrierii în baza 2
a numărului n
Gigel poate aplica una sau mai multe permutări circulare. Printr-o permutare circulară, toate cifrele secvenţei date, exceptând ultima, sunt mutate cu o poziţie spre dreapta, iar ultima cifră devine prima.
De exemplu, dacă n=107
, scrierea sa în baza 2
este 1101011
. Prin permutări circulare succesive putem obţine, în ordine, secvenţele:
1110101 1111010 0111101 1011110 ...
Fiecare astfel de secvenţă este scrierea în baza 2
a unui număr natural, pe care Gigel îl transformă în baza 10
. Gigel trebuie să afle care este cel mai mare număr natural m
, scris în baza 10
, a cărui scriere în baza 2
se poate obţine prin una sau mai multe permutări circulare ale scrierii în baza 2
a numărului n
. Lui Gigel jocul nu i se pare aşa interesant şi ar prefera să aibă un program care să determine în locul lui numărul natural m
.
Scrieţi un program care citeşte numărul natural nenul n
şi care determină cel mai mare număr natural m
, scris în baza 10
, care poate fi obţinut prin una sau mai multe permutări circulare ale scrierii în baza 2
a numărului natural n
.
Olimpiada Municipala Informatica Iasi 2016
Problema | B210 | Operații I/O |
b210.in /b210.out
|
---|---|---|---|
Limita timp | 0.1 secunde | Limita memorie |
Total: 2 MB
/
Stivă 1 MB
|
Id soluție | #47027969 | Utilizator | |
Fișier | b210.cpp | Dimensiune | 1020 B |
Data încărcării | 29 Noiembrie 2023, 17:46 | Scor / rezultat | 0 puncte |
b210.cpp: In function 'int nr(int)': b210.cpp:10:13: warning: unused variable 'rest' [-Wunused-variable] int rest = x % 2; ^ b210.cpp: In function 'int main()': b210.cpp:39:14: warning: unused variable 'p' [-Wunused-variable] int i,x, p,m = 0; ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
1 | 0 secunde | Caught fatal signal 11 | 10 | 0 | ||
2 | 0 secunde | Caught fatal signal 11 | 10 | 0 | ||
3 | 0 secunde | Caught fatal signal 11 | 10 | 0 | ||
4 | 0 secunde | Caught fatal signal 11 | 10 | 0 | ||
5 | 0 secunde | Caught fatal signal 11 | 10 | 0 | ||
6 | 0 secunde | Caught fatal signal 11 | 10 | 0 | ||
7 | 0 secunde | Caught fatal signal 11 | 10 | 0 | ||
8 | 0 secunde | Caught fatal signal 11 | 15 | 0 | ||
9 | 0 secunde | Caught fatal signal 11 | 15 | 0 | ||
Punctaj total | 0 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema B210 face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.