Detalii evaluare #58154098

Rezumat problemă

invbits

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

Detalii

Problema invbits Operații I/O tastatură/ecran
Limita timp 0.1 secunde Limita memorie Total: 64 MB / Stivă 8 MB
Id soluție #58154098 Utilizator iani iani (iani225200)
Fișier invbits.cpp Dimensiune 221 B
Data încărcării 16 Mai 2025, 20:09 Scor / rezultat Eroare de compilare

Evaluare

Mesaj compilare

invbits.cpp: In function 'int main()':
invbits.cpp:13:10: warning: statement has no effect [-Wunused-value]
         m>>1;

          ^
invbits.cpp:16:14: error: no match for 'operator^' (operand types are 'std::basic_ostream<char>' and 'int')
     cout << n^((1<<k)-1);

              ^
invbits.cpp:16:14: note: candidates are:
In file included from /usr/include/c++/4.8/ios:42:0,
                 from /usr/include/c++/4.8/ostream:38,
                 from /usr/include/c++/4.8/iostream:39,
                 from invbits.cpp:1:
/usr/include/c++/4.8/bits/ios_base.h:85:3: note: constexpr std::_Ios_Fmtflags std::operator^(std::_Ios_Fmtflags, std::_Ios_Fmtflags)
   operator^(_Ios_Fmtflags __a, _Ios_Fmtflags __b)
   ^
/usr/include/c++/4.8/bits/ios_base.h:85:3: note:   no known conversion for argument 1 from 'std::basic_ostream<char>' to 'std::_Ios_Fmtflags'
/usr/include/c++/4.8/bits/ios_base.h:127:3: note: constexpr std::_Ios_Openmode std::operator^(std::_Ios_Openmode, std::_Ios_Openmode)
   operator^(_Ios_Openmode __a, _Ios_Openmode __b)
   ^
/usr/include/c++/4.8/bits/ios_base.h:127:3: note:   no known conversion for argument 1 from 'std::basic_ostream<char>' to 'std::_Ios_Openmode'
/usr/include/c++/4.8/bits/ios_base.h:167:3: note: constexpr std::_Ios_Iostate std::operator^(std::_Ios_Iostate, std::_Ios_Iostate)
   operator^(_Ios_Iostate __a, _Ios_Iostate __b)
   ^
/usr/include/c++/4.8/bits/ios_base.h:167:3: note:   no known conversion for argument 1 from 'std::basic_ostream<char>' to 'std::_Ios_Iostate'

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 invbits 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!