Diferente pentru problema/bignum intre reviziile #2 si #1

Nu exista diferente intre titluri.

Diferente intre continut:

== include(page="template/taskheader" task_id="bignum") ==
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 + 2^2^ = 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 + 2^1^ =  3$, sau $ordonare(10101{~2~}) = 00111{~2~} = 1 + 2^1^+ 2^2^ = 7$.
 
Se dă un numar $N$~$2$~ în baza $2$.  Să se calculeze suma $ordonare(1{~2~})+...+ordonare(N{~2~})$ mod $10^9^ + 7$
Poveste şi cerinţă...
h2. Date de intrare
Primul rând al fişierului de intrare conţine numărul $N$~$2$~, în baza $2$.
Fişierul de intrare $bignum.in$ ...
h2. Date de ieşire
Fişierul de ieşire va conţine suma descrisă anterior, în baza $10$.
În fişierul de ieşire $bignum.out$ ...
h2. 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$
* $... ≤ ... ≤ ...$
h2. Exemplu
table(example). |_. bignum.in |_. bignum.out |
|  100 | 6 |
| 11110000 | 5040 |
| This is some
  text written on
  multiple lines.
| This is another
  text written on
  multiple lines.
|
h3. Explicaţie
Observăm că:
 
            $ordonare(1{~2~})+ordonare(10{~2~})+ordonare(11{~2~})+ordonare(100{~2~})$
            $= 1{~2~} + 01{~2~} + 11{~2~} + 001{~2~}$
            $= 1 + 1 + 3 + 1$
            $= 6$
...
== include(page="template/taskfooter" task_id="bignum") ==

Nu exista diferente intre securitate.

Topicul de forum nu a fost schimbat.