Fişierul intrare/ieşire:bignum.in, bignum.outSursăScience On 2021, clasa 7-8
AutorTamio-Vesa NakajimaAdăugată decadmium_Voicu Mihai Valeriu cadmium_
Timp execuţie pe test0.25 secLimită de memorie268435 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Bignum

Vom nota un număr în baza 2 cu cifrele b[1],..., b[k] prin b[1]... b[k]2. De exemplu, 1012 este numarul 1 + 22 = 5. Definim ordonarea unui număr în baza 2 ca fiind numărul ce rezultă din sortarea în ordine crescătoare a cifrelor numărului. De exemplu, ordonare(1012) = 0112 = 1 + 21 = 3, sau ordonare(101012) = 001112 = 1 + 21+ 22 = 7.

Se dă un numar N2 în baza 2. Să se calculeze suma ordonare(12)+...+ordonare(N2) mod 109 + 7

Date de intrare

Primul rând al fişierului de intrare conţine numărul N2, în baza 2.

Date de ieşire

Fişierul de ieşire va conţine suma descrisă anterior, în baza 10.

Restricţii

  • Pentru teste în valoare de 20 de puncte , N2 are cel mult 20 de cifre în baza 2
  • Pentru alte teste în valoare de 30 de puncte , N2 are cel mult 2 000 de cifre în baza 2
  • Pentru alte teste în valoare de 50 de puncte , N2 are cel mult 200 000 de cifre în baza 2

Exemplu

bignum.inbignum.out
1006
111100005040

Explicaţie

Observăm că:

ordonare(12)+ordonare(102)+ordonare(112)+ordonare(1002)
= 12 + 012 + 112 + 0012
= 1 + 1 + 3 + 1
= 6

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?