Detalii evaluare #58263545

Rezumat problemă

Nicușor, primarul capitalei, a fost invitat în seara zilei de 5 septembrie 2024 la jurnalul de seară al Digi 24. Acesta a fost provocat să rezolve o problemă “de clasa a patra” propusă de către o profesoară: “Care este cel mai mic număr natural nenul care are proprietatea că dacă mutăm ultima sa cifră în fața primei cifre, valoarea noului număr este egală cu dublul numărului inițial”. Cu alte cuvinte, acestuia i s-a cerut să găsească cel mai mic număr nenul de forma \(\overline{c_1 c_2 … c_n}\) cu proprietatea \(\overline{c_n c_1 c_2 … c_{n-1}} = 2 \times \overline{c_1 c_2 … c_n}\).

După ce a rezolvat problema, Nicușor a decis să o generalizeze, astfel propunând o variantă pentru clasa a cincea: Care este cel mai mic număr natural nenul, care, scris in baza b ca \(\overline{c_1 c_2 … c_n}_{(b)}\), are proprietatea că \(\overline{c_n c_1 c_2 … c_{n-1}}_{(b)} = a \times \overline{c_1 c_2 … c_n}_{(b)}\) unde 2 ≤ a < b.

Digi 24, enunț modificat

Consola Tir Vlad Ioan (Vlad3108) Vlad Ioan Tir dificilă

Detalii

Problema NicușorD Operații I/O tastatură/ecran
Limita timp 0.2 secunde Limita memorie Total: 64 MB / Stivă 8 MB
Id soluție #58263545 Utilizator Gabor Cristian hater python (Kiyama)
Fișier nicușord.cpp Dimensiune 6.47 KB
Data încărcării 22 Mai 2025, 23:34 Scor / rezultat Eroare de compilare

Evaluare

Mesaj compilare

nicușord.cpp: In function 'int64 mul_mod(int64, int64, int64)':
nicușord.cpp:61:52: error: expected primary-expression before '__int128'
 int64 mul_mod(int64 a, int64 b, int64 m) { return (__int128)a * b % m; }

                                                    ^
nicușord.cpp:61:52: error: expected ')' before '__int128'
nicușord.cpp: In function 'int64 mul64(int64, int64, int64)':
nicușord.cpp:76:52: error: expected primary-expression before '__int128'
 int64 mul64(int64 a, int64 b, int64 mod) { return (__int128)a * b % mod; }

                                                    ^
nicușord.cpp:76:52: error: expected ')' before '__int128'
nicușord.cpp: In function 'int64 pollard(int64)':
nicușord.cpp:110:34: error: 'gcd' was not declared in this scope
             d = gcd(abs(x - y), n);

                                  ^
nicușord.cpp: In function 'int main()':
nicușord.cpp:178:19: error: expected unqualified-id before '[' token
         for (auto [p, _] : pfg) phi = phi / p * (p - 1);

                   ^
nicușord.cpp:178:19: error: expected ';' before '[' token
nicușord.cpp:178:20: error: 'p' was not declared in this scope
         for (auto [p, _] : pfg) phi = phi / p * (p - 1);

                    ^
nicușord.cpp:178:23: error: '_' was not declared in this scope
         for (auto [p, _] : pfg) phi = phi / p * (p - 1);

                       ^
nicușord.cpp: In lambda function:
nicușord.cpp:178:26: error: expected '{' before ':' token
         for (auto [p, _] : pfg) phi = phi / p * (p - 1);

                          ^
nicușord.cpp: In function 'int main()':
nicușord.cpp:178:26: error: expected ';' before ':' token
nicușord.cpp:178:26: error: expected primary-expression before ':' token
nicușord.cpp:178:26: error: expected ')' before ':' token
nicușord.cpp:178:26: error: expected primary-expression before ':' token
nicușord.cpp:178:26: error: expected ';' before ':' token
nicușord.cpp: In function 'int64 mul_mod(int64, int64, int64)':
nicușord.cpp:61:72: warning: control reaches end of non-void function [-Wreturn-type]
 int64 mul_mod(int64 a, int64 b, int64 m) { return (__int128)a * b % m; }

                                                                        ^
nicușord.cpp: In function 'int64 mul64(int64, int64, int64)':
nicușord.cpp:76:74: warning: control reaches end of non-void function [-Wreturn-type]
 int64 mul64(int64 a, int64 b, int64 mod) { return (__int128)a * b % mod; }

                                                                          ^

Cum funcționează evaluarea?

www.pbinfo.ro permite evaluarea a două tipuri de probleme:

  • probleme la care rezolvarea presupune scrierea unui program complet
  • probleme la care rezolvarea presupune scrierea unei secvențe de program - câteva instrucțiuni, o listă de declarații, una sau mai multe funcții, etc.

Problema NicușorD face parte din prima categorie. Soluția propusă de tine va fi evaluată astfel:

  • Programul sursă este compilat folosind compilatorul corespunzător. Dacă în urma compilării se obțin erori sau avertismente, acestea sunt afișate în această pagină.
  • Dacă programul a fost compilat, executabilul obținut va fi rulat, furnizându-i-se unul sau mai multe seturi de date de intrare, în concordanță cu restricțiile specifice problemei. Pentru fiecare set de date se obține un anumit punctaj, în raport cu corectitudinea soluției tale.

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ă.

Du-te sus!