== include(page="template/taskheader" task_id="grad") ==
Se consideră o propoziţie formată din litere mici ale alfabetului englez şi eventual spaţii. Cuvintele sunt formate numai din litere şi sunt separate între ele prin unul sau mai multe spaţii.
Definim numărul asociat unui cuvânt $C{~1~}C{~2~}...C{~k~}$ ca fiind un număr natural $nc$, obţinut ca produsul puterilor de forma $P^i^$, unde $P$ este poziţia în alfabet a literei $C{~i~}$. Astfel cuvântului $badab$ i se asociază numărul $nc = 2^1^*1^2^*4^3^*1^4^*2^5^$, adică $nc = 4096$.
Definim gradul unui cuvânt $C{~1~}C{~2~}...C{~k~}$ ca fiind numărul $nr modulo k$, unde $nr$ este numărul de divizori ai lui nc. Gradul cuvântului badab este $3$, pentru că $nr = 13$ (cei $13$ divizori ai lui $4096$ sunt: $1, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048 şi 4096$), $k = 5$ (cuvântul conţine $5$ litere) şi $13$ modulo $5$ = $3$.
Definim gradul unei propoziţii ca fiind suma gradelor cuvintelor existente în ea.
Să se scrie un program care pentru o propoziţie dată determină gradul ei.
Poveste şi cerinţă...
h2. Date de intrare
Fişierul de intrare $grad.in$ va conţine pe prima linie o propoziţie.
Fişierul de intrare $grad.in$ ...
h2. Date de ieşire
Fişierul de ieşire $grad.out$ va conţine pe prima linie gradul propoziţiei.
În fişierul de ieşire $grad.out$ ...
h2. Restricţii
* Propoziţia are cel mult $255$ de caractere.
* Propoziţia începe şi se termină cu literă, şi este urmată de sfârşit de linie.
* n modulo k înseamnă restul împărţirii lui n la k.
* În alfabet litera a este pe poziţia 1, b este pe poziţia 2, şi aşa mai departe.
* $... ≤ ... ≤ ...$
h2. Exemplu
table(example). |_. grad.in |_. grad.out |
| de badab
| 4
| This is some
text written on
multiple lines.
| This is another
text written on
multiple lines.
|
h3. Explicaţie
Gradul cuvântului $de$ este 1, iar gradul cuvântului $badab$ este 3, deci gradul propoziţiei citite va fi 1+3=4.
...
== include(page="template/taskfooter" task_id="grad") ==