#958
Rareș și Didi au primit în dar o carte rară de povești, cu N+1 pagini numerotate cu numerele distincte: 0, 1, 2, 3,…, N. De ce rară? Din două motive:
C egal cu numărul de cifre folosite pentru numerotarea celor N+1 pagini ale cărții.Pentru a descoperi numărul P al paginii magice se pornește de la numărul N din care se va alege o cifră (diferită de prima și ultima cifră ale lui N), astfel încât produsul dintre prefixul lui N (reprezentând numărul format din cifrele situate la stânga cifrei alese) și sufixul lui N (reprezentând numărul format din cifrele situate la dreapta cifrei alese) să fie maxim. Numărul paginii magice va fi egal cu acest produs maxim. De exemplu, pentru N=21035 se pot obține produsele: 210*5=1050, 21*35=735, 2*35=70. Astfel numărul paginii magice este 1050.
Pasionați de povești, Rareș dorește să descopere pagina magică iar Didi și-a propus să descopere cifrul pentru deschiderea cărții.
Scrieţi un program care citeşte numărul natural nenul N şi care determină:
a) numărul P al paginii magice;
b) numărul C reprezentând cifrul de deschidere a cărții.
Olimpiada de Informatică, etapa pe sector, Bucureşti, 2014
| Problema | Povesti | Operații I/O |
tastatură/ecran
|
|---|---|---|---|
| Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #61383706 | Utilizator | |
| Fișier | povesti.cpp | Dimensiune | 427 B |
| Data încărcării | 26 Noiembrie 2025, 10:45 | Scor/rezultat | 0 puncte |
povesti.cpp: In function 'int main()': povesti.cpp:10:23: warning: format '%lld' expects argument of type 'long long int*', but argument 3 has type 'int*' [-Wformat=] fscanf(f,"%lld",&n); ^ povesti.cpp:20:23: warning: format '%d' expects argument of type 'int', but argument 3 has type 'long long int' [-Wformat=] fprintf(g,"%d",t+1); ^ povesti.cpp:10:24: warning: ignoring return value of 'int fscanf(FILE*, const char*, ...)', declared with attribute warn_unused_result [-Wunused-result] fscanf(f,"%lld",&n); ^
| Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
|---|---|---|---|---|---|---|
| 1 | 0 secunde | Incorect ! | 5 | 0 | Exemplu | |
| 2 | 0 secunde | Incorect ! | 5 | 0 | Exemplu | |
| 3 | 0 secunde | Incorect ! | 10 | 0 | ||
| 4 | 0 secunde | Incorect ! | 10 | 0 | ||
| 5 | 0 secunde | Incorect ! | 10 | 0 | ||
| 6 | 0 secunde | Incorect ! | 10 | 0 | ||
| 7 | 0 secunde | Incorect ! | 10 | 0 | ||
| 8 | 0 secunde | Incorect ! | 10 | 0 | ||
| 9 | 0 secunde | Incorect ! | 10 | 0 | ||
| 10 | 0 secunde | Incorect ! | 10 | 0 | ||
| 11 | 0 secunde | Incorect ! | 10 | 0 | ||
| Punctaj total | 0 | |||||
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Povesti 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ă.