Pagini recente »
Diferențe pentru problema/capsuni între reviziile 4 și 7
|
Diferențe pentru problema/bani între reviziile 2 și 17
|
Diferențe pentru problema/defrag între reviziile 5 și 6
|
Diferențe pentru problema/punga între reviziile 7 și 20
|
Diferențe pentru problema/secv9 între reviziile 7 și 14
Nu există diferențe între titluri.
Diferențe între conținut:
Aritmel este pasionat de aritmetică și de multe ori inventează probleme din acest domeniu, pe care apoi se străduiește să le și rezolve. De data aceasta însă și-a cam prins urechile și vă cere ajutorul, pentru că problema la care s-a gândit pare mult prea dificilă pentru el atunci când numerele prelucrate sunt foarte mari.
Despre ce este vorba: de curând Aritmel a învățat că numerele naturale sunt divizibile cu *9* dacă și numai dacă au suma cifrelor divizibilă cu *9*. Imediat și-a pus următoarea întrebare: dacă am un număr foarte mare *X*, câte numere divizibile cu *9* pot să extrag din el în condițiile în care aleg doar cifre aflate pe poziții consecutive în *X*?
Scrieți un program care să citească un șir de cifre *nenule* reprezentând un număr care poate fi foarte mare și să calculeze câte subsecvențe ale acestuia corespund unor numere divizibile cu *9*. O subsecvență a unui șir *a[~1~]*, *a[~2~]*, .., *a[~n~]* este un subșir format elemente aflate pe poziții consecutive în șir: *a[~i~]*, *a[~i+1~]*, .., *a[~i+k-1~]* unde k este un număr natural (secvența poate avea și lungimea *1*).
Scrieți un program care să citească un șir de cifre *nenule* reprezentând un număr care poate fi foarte mare și să calculeze câte subsecvențe ale acestuia corespund unor numere divizibile cu *9*. O subsecvență a unui șir *a[~1~]*, *a[~2~]*, .., *a[~n~]* este un subșir format din elemente aflate pe poziții consecutive în șir: *a[~i~]*, *a[~i+1~]*, .., *a[~i+k-1~]* unde *k* este un număr natural (secvența poate avea și lungimea *1*).
h2. Date de intrare
h2. Restricții
* $1 ≤ N ≤ 100 000$
* pentru 30% din teste $1 ≤ N ≤ 100$
* pentru 50% din teste $1 ≤ N ≤ 1 000$
h2. Exemplu
table(example).
|_. secv9.in |_. secv9.out |
| This is some
text written on
multiple lines.
| This is another
text written on
multiple lines.
|_. secv9.in |_. secv9.out |_. Explicații |
| 9919
| 4
| Secvențele formate din prima cifră, cea formată din a doua cifră, cea formată din a patra cifră și cea formată din primele 2 cifre corespund unor numere divizibile cu 9.
|
| 3815265
| 3
| Secvențele formate din a doua și a treia cifră (81), cea formată din a doua, a treia, a patra, a cincea, a șasea și a șaptea cifră (815265) și
cea formată din a patra, a cincea, a șasea și a șaptea cifră (5265) corespund unor numere divizibile cu 9.
|
h3. Explicație
...
== include(page="template/taskfooter" task_id="secv9") ==
Nu există diferențe între securitate.