Cerința
La un campionat de șah participa n
persoane. Știind că la fiecare rundă se fac grupe de câte 2
persoane, iar câștigătorul trece în runda următoare, aflați după câte runde se va află câștigătorul.
Date de intrare
Programul citește de la tastatură numărul n
.
Date de ieșire
Programul va afișa pe ecran numărul de runde.
Restricții și precizări
n ≤ 4.444.444.444
- Dacă nu se poate realiza campionatul în conformitate cu regulile de mai sus, se va afișa
-1
.
Exemplul 1:
Intrare
4
Ieșire
2
Explicație
În prima rundă se formează 2
grupe de 2
participanți. În runda următoare va fi o grupa de 2
, după care se va află câștigătorul.
Exemplul 2:
Intrare
3
Ieșire
-1
Explicație
Nu se poate realiza campionatul cu regulile din enunț.
Cum e corect?
cout < "As la info";
cout << "As la info";
cout >> "As la info";
Felicitări! Poți mai mult?
Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.
Greșit, dar nu-i bai!
Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.
Rezolvare
Iată rezolvarea de 100 de puncte pentru problema Campionat:
#include <iostream>
using namespace std;
long long n;
int runde;
int main()
{
/// Observam ca, pentru a putea realiza campionatul, n trebuie sa fie o putere a lui 2.
cin >> n;
while (n % 2 == 0)
n /= 2, ++runde;
if (n != 1)
cout << -1;
else
cout << runde;
return 0;
}
Atenție
Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa .
Rezolvarea problemei #2326 Campionat
Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #2326 Campionat de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.
Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!