Cerință
Se dă codul main.cpp
care se citește pe sine, face operația XOR între caracterele din fișier, și afișează rezultatul.
Schimbați un singur caracter din codul sursă, astfel încât rezultatul să rămână același.
Accesați programul de aici sau din secțiunea „Atașamente” din lateral.
Operația XOR
XOR este o operație între două valori care se face pe biții acelor valori.
Spre exemplu, std::cout << ('a' ^ 'C');
afișează .
Asta, deoarece codificările ASCII pentru a
și C
sunt , respectiv .
Reprezentarea în binar a lor este , respectiv .
Operația XOR aplicată între cele două este dată de aplicarea pe fiecare pereche de biți de pe aceeași poziție, rezultatul fiind , adică .
Două proprietăți importante sunt:
- comutativitatea:
a ^ b == b ^ a
- autoanihilarea:
a ^ a == 0
Date de intrare
Nu se dă nimic la intrare. Fișierul cpp se citește pe el însuși.
Date de ieșire
Se afișează un număr.
Restricții și precizări
- Trebuie să înlocuiți exact un caracter din sursă
- Trebuie ca la rulare, să se afișeze același număr, ca înainte de modificare.
- Codul din concurs a fost puțin modificat.
- Pentru a verifica dacă nu ați adăugat/șters din greșeală vreun caracter, codul sursă trimis trebuie să aibă dimensiunea de 398 B.