#3116
cifrab
Alexandra e pasionată de baze de numerație. Ea vrea sa calculeze cifra de control a unui număr în cea mai mică bază de numerație în care poate fi reprezentat acel număr. Se numește cifră de control a unui număr, cifra care se obține prin adunări repetate a cifrelor numărului până obținem o singură cifră. Exemplu: 1294
în baza 10 are
suma cifrelor 16
care adunate din nou dau cifra de control 7
. Dar Alexandra are la dispoziție un număr care poate conține nu doar cifre, ci și litere mari ale alfabetului. A
înseamnă cifra 10
, B
cifra 11
, …, Z
cifra 35
. Deci baza maximă posibilă este 36
.
Dându-se un număr printr-un șir de caractere format doar din litere mari și cifre, să se determine cea mai mică bază de numerație posibilă, precum și cifra de control a acestui număr în acea bază.
Concurs Judetean XOR 2014
Problema | cifrab | Operații I/O |
![]() cifrab.in /cifrab.out
|
---|---|---|---|
Limita timp | 0.1 secunde | Limita memorie |
Total: 16 MB
/
Stivă 4 MB
|
Id soluție | #58591418 | Utilizator | |
Fișier | cifrab.cpp | Dimensiune | 1.61 KB |
Data încărcării | 26 Iunie 2025, 10:50 | Scor / rezultat | Eroare de compilare |
cifrab.cpp: In function 'int suma_cifrelor_baza(const string&, int)': cifrab.cpp:39:83: error: operands to ?: have different types 'int' and 'const char*' nou += (val / baza) ? (val / baza + '0') : (nou.empty() ? "" : "0"); ^ cifrab.cpp:26:9: warning: unused variable 'suma' [-Wunused-variable] int suma = 0; ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema cifrab 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ă.