#45
Să se scrie un program care citește un număr natural și verifică dacă este prim.
| Problema | VerifPrim | Operații I/O |
tastatură/ecran
|
|---|---|---|---|
| Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #64717422 | Utilizator | |
| Fișier | verifprim.cpp | Dimensiune | 13.94 KB |
| Data încărcării | 25 Mai 2026, 19:50 | Scor/rezultat | Eroare de compilare |
verifprim.cpp:207:20: error: ‘static primalitate::BigUInt primalitate::BigUInt::operator<<(const primalitate::BigUInt&, size_t)’ must be either a non-static member function or a non-member function 207 | static BigUInt operator<<(const BigUInt &value, size_t bits) { | ^~~~~~~~ verifprim.cpp:224:20: error: ‘static primalitate::BigUInt primalitate::BigUInt::operator>>(const primalitate::BigUInt&, size_t)’ must be either a non-static member function or a non-member function 224 | static BigUInt operator>>(const BigUInt &value, size_t bits) { | ^~~~~~~~ verifprim.cpp: In static member function ‘static void primalitate::BigUInt::divide(const primalitate::BigUInt&, const primalitate::BigUInt&, primalitate::BigUInt&, primalitate::BigUInt&)’: verifprim.cpp:151:29: error: no match for ‘operator<<’ (operand types are ‘const primalitate::BigUInt’ and ‘long unsigned int’) 151 | BigUInt divisor = b << ((n - m) * 32); | ~ ^~ ~~~~~~~~~~~~~~ | | | | | long unsigned int | const primalitate::BigUInt verifprim.cpp:157:45: error: no match for ‘operator*’ (operand types are ‘primalitate::BigUInt’ and ‘uint32_t’ {aka ‘unsigned int’}) 157 | BigUInt candidate = divisor * mid; | ~~~~~~~ ^ ~~~ | | | | | uint32_t {aka unsigned int} | primalitate::BigUInt verifprim.cpp:166:21: error: no match for ‘operator>>=’ (operand types are ‘primalitate::BigUInt’ and ‘int’) 166 | divisor >>= 32; | ~~~~~~~~^~~~~~ verifprim.cpp: In static member function ‘static primalitate::BigUInt primalitate::BigUInt::modexp(primalitate::BigUInt, primalitate::BigUInt, const primalitate::BigUInt&)’: verifprim.cpp:248:33: error: no match for ‘operator>>’ (operand types are ‘primalitate::BigUInt’ and ‘int’) 248 | exponent = exponent >> 1; | ~~~~~~~~ ^~ ~ | | | | | int | primalitate::BigUInt verifprim.cpp: In static member function ‘static bool primalitate::PrimeTester::millerRabinBig(const primalitate::BigUInt&)’: verifprim.cpp:371:19: error: no match for ‘operator>>’ (operand types are ‘primalitate::BigUInt’ and ‘int’) 371 | d = d >> 1; | ~ ^~ ~ | | | | | int | primalitate::BigUInt
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema VerifPrim 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ă.