#2936
Pentru orice număr natural N se asociază o cifră din mulţimea {0,1,2,3,4,5}, numită amprentă, astfel: se calculează diferenţa pozitivă a sumelor cifrelor de pe poziţiile pare, respectiv impare; dacă această diferenţă este mai mică decât 10 atunci algoritmul se opreşte, în caz contrar algoritmul se aplică în continuare, repetat, asupra diferenţei pozitive, până când se va obţine o cifră mai mică decât 10, iar dacă cifra este mai mare decât 5, atunci cifrele 6,7,8,9 se vor înlocui respectiv cu 5,4,3,2. De exemplu pentru numărul N = 90 amprenta este 2, iar pentru N = 91909091 amprenta este 1.
1) Se dă un număr natural N şi se cere determinarea amprentei acestuia.
2) Se dau două numere naturale P, Q şi o cifră C din {0,1,2,3,4,5} şi se cere determinarea numărului de valori dintre P şi Q, inclusiv, care au amprenta egală cu C.
Info Oltenia 2019
| Problema | Amprenta | Operații I/O |
amprenta.in/amprenta.out
|
|---|---|---|---|
| Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #50789531 | Utilizator | |
| Fișier | amprenta.cpp | Dimensiune | 1.87 KB |
| Data încărcării | 05 Mai 2024, 10:59 | Scor/rezultat | Eroare de compilare |
amprenta.cpp: In function 'int f(long long int)': amprenta.cpp:15:34: error: 'reverse' was not declared in this scope reverse(cif.begin(),cif.end()); ^ amprenta.cpp:17:29: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for (int i=0;i<cif.size();++i) ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Amprenta 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ă.