#686
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 c1c2...ck ca fiind un număr natural nc, obţinut ca produsul puterilor de forma pi, unde p este poziţia în alfabet a literei ci. Astfel cuvântului badab i se asociază numărul nc=21∙12∙43∙14∙25, adică nc=4096.
Definim gradul unui cuvânt c1c2...ck ca fiind numărul nr modulo k, unde nr este numărul de divizori al 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.
Lot Juniori, Sibiu 2011
| Problema | grad | Operații I/O |
grad.in/grad.out
|
|---|---|---|---|
| Limita timp | 0.2 secunde | Limita memorie |
Total: 16 MB
/
Stivă 16 MB
|
| Id soluție | #64766155 | Utilizator | |
| Fișier | grad.c | Dimensiune | 1.39 KB |
| Data încărcării | 28 Mai 2026, 17:19 | Scor/rezultat | 0 puncte |
grad.c: In function ‘main’: grad.c:15:5: warning: ignoring return value of ‘fscanf’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 15 | fscanf (fin, "%d", &n); // citim n | ^~~~~~~~~~~~~~~~~~~~~~ grad.c:32:8: warning: ‘ch’ may be used uninitialized [-Wmaybe-uninitialized] 32 | if (ch != ' '){ // daca mai este un cuvant la final | ^ grad.c:12:10: note: ‘ch’ was declared here 12 | char ch, cht; | ^~
| Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
|---|---|---|---|---|---|---|
| 1 | 0.001 secunde | Caught fatal signal 11 | 5 | 0 | ||
| 2 | 0.001 secunde | Caught fatal signal 11 | 5 | 0 | ||
| 3 | 0.002 secunde | Caught fatal signal 11 | 5 | 0 | ||
| 4 | 0.001 secunde | Caught fatal signal 11 | 5 | 0 | ||
| 5 | 0.001 secunde | Caught fatal signal 11 | 5 | 0 | ||
| 6 | 0.001 secunde | Caught fatal signal 11 | 5 | 0 | ||
| 7 | 0.001 secunde | Caught fatal signal 11 | 5 | 0 | ||
| 8 | 0.001 secunde | Caught fatal signal 11 | 5 | 0 | ||
| 9 | 0.001 secunde | Caught fatal signal 11 | 5 | 0 | ||
| 10 | 0.001 secunde | Caught fatal signal 11 | 5 | 0 | ||
| 11 | 0.001 secunde | Caught fatal signal 11 | 5 | 0 | ||
| 12 | 0.001 secunde | Caught fatal signal 11 | 5 | 0 | ||
| 13 | 0.001 secunde | Caught fatal signal 11 | 5 | 0 | ||
| 14 | 0.001 secunde | Caught fatal signal 11 | 5 | 0 | ||
| 15 | 0.001 secunde | Caught fatal signal 11 | 5 | 0 | ||
| 16 | 0.001 secunde | Caught fatal signal 11 | 5 | 0 | ||
| 17 | 0.001 secunde | Caught fatal signal 11 | 5 | 0 | ||
| 18 | 0.001 secunde | Caught fatal signal 11 | 5 | 0 | ||
| 19 | 0.001 secunde | Caught fatal signal 11 | 5 | 0 | ||
| 20 | 0.001 secunde | Caught fatal signal 11 | 5 | 0 | ||
| Punctaj total | 0 | |||||
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema grad face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:
Suma punctajelor acordate pe testele utilizate pentru verificare este 100. Astfel, soluția ta poate obține cel mult 100 de puncte, caz în care se poate considera corectă.