Atenție! Aceasta este o versiune veche a paginii., scrisă la 2013-11-02 05:18:31.000.
Revizia anterioară   Revizia următoare  

Fișierul intrare/ieșire suprapuneri.in, suprapuneri.out Sursă Cerc informatică Vianu
Autor Cristian Frâncu Adăugată de avatar francu Cristian Frâncu francu
Timp de execuție pe test 0.05 sec Limită de memorie 1024 KB
Scorul tău N/A Dificultate stea de rating de tip fullstea de rating de tip emptystea de rating de tip emptystea de rating de tip emptystea de rating de tip empty
open book Poți vedea testele pentru această problemă accesând atașamentele .

Suprapuneri (clasa a 6-a)

Notă: acesta este un exercițiu introductiv în lucrul cu numere în baza doi. Pentru ca voi să învățați ceva lucrînd la el este necesar să nu folosiți vectori. Codul onoarei, vă rog. Sursele vor fi verificate.

Se citesc două numere zecimale m și n. Vom considera reprezentările lor în baza doi. Pentru a le aduce la același număr de cifre în baza doi vom completa numărul mai mic la stînga cu zero. Astfel ambele reprezentări vor avea x cifre în baza doi. O rotație a unui număr în baza doi se obține tăind prima sa cifră și adăugînd-o la finalul numărului. Putem forma astfel x rotații diferite, incluzînd numărul original.

Cerință

Calculați cîte din rotațiile reprezentării numărului m în baza doi se suprapun perfect cu reprezentarea în baza doi a numărului n.

Date de intrare

Fișierul de intrare suprapuneri.in va conține pe prima linie cele două numere m și n separate printr-un spațiu.

Date de ieșire

În fișierul de ieșire suprapuneri.out veți scrie numărul de suprapuneri ale reprezentărilor binare ale celor două numere.

Restricții

  • 0 ≤ m, n ≤ 1018

Exemplu

suprapuneri.in suprapuneri.out Explicație
54 27
2
Pentru m = 54 și n = 27 cele două reprezentări în baza doi vor fi
110110, respectiv 11011. Vom aduce reprezentarea a doua la același
număr de cifre și vom avea cele două reprezentări 110110 și 011011.
Apoi vom efectua rotațiile și vom număra cîte egalități de reprezentări avem:
 
110110 ≠ 011011
101101 ≠ 011011
011011 = 011011 egalitate
110110 ≠ 011011
101101 ≠ 011011
011011 = 011011 egalitate
 
În concluzie vom afișa 2.

Trebuie să te autentifici pentru a trimite soluții. Click aici

Indicii de rezolvare

Arată 2 categorii