Rezolvare PBinfo #2202

Decorative Icon Problema: extindere / 2202

Decorative IconAutor: Deivid

Se consideră operația : {1; 2} → {1; 2}, astfel încât 1 = 2, 2 = 1. Operația se extinde asupra oricărei secvențe formate cu cifre de 1 și 2, de exemplu 1211212121 =2122121212.
Se consideră șirul infinit s format cu cifre de 1 și 2, generat incremental prin extindere după următoarea regulă de concatenare:
s1 = 1221, s2 = 1221211221121221, … , sk+1 = sk sk sk sk, …, pentru orice număr natural nenul k.

Cerința

Să se scrie un program care pentru un n număr natural nenul cunoscut determină și afișează a n-a cifră a șirului s, astfel încât numărul de pași ai programului să fie proporțional cu log2(n) (complexitate timp logaritmică în funcție de n).

Date de intrare

Fișierul de intrare extindere.in conține pe prima linie numărul natural nenul n.

Date de ieșire

Fișierul de ieșire extindere.out va conține pe prima linie numărul c care reprezintă a n-a cifră a șirului format după regula precizată mai sus.

Restricții și precizări
  • 1 ≤ n ≤ 1.000.000
Exemplu:

extindere.in

18

extindere.out

1

Explicație

Pentru a afla cifra aflată pe poziția n=18 trebuie efectuate 3 pași de extindere.
Șirul generat este 1221211221121221 2112122112212112 2112122112212112 1221211221121221.
Cifra aflată pe poziția 18 este 1.

Decorative Icon Explică rezolvarea folosind Inteligența Artificială

Folosește modelul nostru de AI special antrenament pentru a rezolva problemele de pe PBinfo! În baza creditelor AI primești explicații pentru probleme, pe care le alegi și le rulezi exact atunci când dorești, la un singur click distanță! Află mai multe informații:

👉 Achiziționează credite AI
Andrei Frîntu
Andrei Frîntu

Fondatorul platformei - mentor Academia

LinkedIn Instagram GitHub
© Copyright 2026 - CodulLuiAndrei.ro - Toate drepturile sunt rezervate