#3672
Se citește de la tastatură număr natural n
. Pornind de la valoarea 1
, asupra valorii curente x
se pot aplica următoarele trei operații: înmulțire cu 2
, înmulțire cu 3
sau adunare cu 1
. De exemplu, dacă x=1
atunci se poate obține 2
(prin înmulțirea cu 2
sau prin adunarea cu 1
) sau 3
(prin înmulțirea cu 3
).
Calculați numărul minim de operații necesare pentru a obține numărul n
începând de la numărul 1
.
Problema | Calculează pe n | Operații I/O |
![]() |
---|---|---|---|
Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #58163313 | Utilizator | |
Fișier | calculează_pe_n.cpp | Dimensiune | 558 B |
Data încărcării | 17 Mai 2025, 17:10 | Scor / rezultat | Eroare de compilare |
calculează_pe_n.cpp:6:22: error: size of array 'marked' is too large int marked[1000000009]; ^ calculează_pe_n.cpp: In function 'int dp(int)': calculează_pe_n.cpp:10:8: error: 'marked' was not declared in this scope if(marked[x]!=-1)return marked[x]; ^ calculează_pe_n.cpp: In function 'int main()': calculează_pe_n.cpp:22:31: error: 'marked' was not declared in this scope for(int i=1;i<=amount;i++)marked[i]=-1; ^ calculează_pe_n.cpp: In function 'int dp(int)': calculează_pe_n.cpp:19:1: warning: control reaches end of non-void function [-Wreturn-type] } ^
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Calculează pe n 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ă.