#2624
Dat fiind un număr natural n, să se determine numărul natural m care are are proprietatea că are în reprezentarea în baza 2 biți de 1 pe pozițiile unde n are biți de 0 și are biți de 0 pe pozițiile unde n are biți de 1. De exemplu, dacă n = 346, atunci m = 165, deoarece n se reprezintă în baza 2 prin 101011010, iar m prin 010100101.
| Problema | invbits | Operații I/O |
tastatură/ecran
|
|---|---|---|---|
| Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #64914937 | Utilizator | |
| Fișier | invbits.cpp | Dimensiune | 186 B |
| Data încărcării | 12 Iunie 2026, 14:14 | Scor/rezultat | Eroare de compilare |
invbits.cpp: In function ‘int main()’: invbits.cpp:7:19: error: invalid operands of types ‘int’ and ‘__gnu_cxx::__enable_if<true, double>::__type’ {aka ‘double’} to binary ‘operator<<’ 7 | n = n ^ ( ( 1 << log2(n) ) | ( ( 1 << log2(n) ) - 1 ); | ~ ^~ ~~~~~~~ | | | | int __gnu_cxx::__enable_if<true, double>::__type {aka double} invbits.cpp:7:40: error: invalid operands of types ‘int’ and ‘__gnu_cxx::__enable_if<true, double>::__type’ {aka ‘double’} to binary ‘operator<<’ 7 | n = n ^ ( ( 1 << log2(n) ) | ( ( 1 << log2(n) ) - 1 ); | ~ ^~ ~~~~~~~ | | | | int __gnu_cxx::__enable_if<true, double>::__type {aka double} invbits.cpp:7:58: error: expected ‘)’ before ‘;’ token 7 | n = n ^ ( ( 1 << log2(n) ) | ( ( 1 << log2(n) ) - 1 ); | ~ ^ | )
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema invbits 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ă.