Atenție! Aceasta este o versiune veche a paginii., scrisă la 2021-03-27 20:37:23.000.
Revizia anterioară   Revizia următoare  

Fișierul intrare/ieșire bignum.in, bignum.out Sursă Science On 2021, clasa 7-8
Autor Tamio-Vesa Nakajima Adăugată de avatar bitoneko Voicu Mihai Valeriu bitoneko
Timp de execuție pe test 0.1 sec Limită de memorie 262144 KB
Scorul tău N/A Dificultate N/A

Bignum (clasa a 8-a)

Vom nota un număr în baza 2 cu cifrele b[$1]$,..., b[k] prin b[$1]$... b[k]$~[$2]~. De exemplu, 101~2~ 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(101 2) = 011 2 = 1 + 21 = 3, sau ordonare(10101 2) = 00111 2 = 1 + 21+ 22 = 7.

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

Date de intrare

Primul rând al fișierului de intrare conține numărul N~2~, î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 , N~2~ are cel mult 20 de cifre în baza 2
  • Pentru alte teste în valoare de 30 de puncte , N~2~ are cel mult 2 000 de cifre în baza 2
  • Pentru alte teste în valoare de 50 de puncte , N~2~ are cel mult 200 000 de cifre în baza 2

Exemplu

bignum.in bignum.out
100 6
11110000 5040

Explicație

Observăm că:

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

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