#903
Cezar
În criptografie, cifrul Caesar este una dintre cele mai simple și mai cunoscute modalități de criptare a unui text. Este un cifru cu substituție, în care fiecare literă textul inițial este înlocuită cu o literă care se află în alfabet la o distanță fixă față de cea înlocuită. Această metodă este numită așa după Iulius Cezar, care o folosea pentru a comunica cu generalii săi.
De exemplu, cu o deplasare de 3
poziții, A
este înlocuit cu D
, B
devine E
și așa mai departe – în final X
devine A
, Y
devine B
, Z
devine C
. Celelalte caractere din text rămân nemodificate. Astfel, textul ana are mere
devine dqd duh phuh
.
Să se scrie un program care citește un text și un număr reprezentând deplasarea și îl criptează folosind cifrul Cezar cu deplasarea dată.
Problema | Cezar | Operații I/O | tastatură/ecran |
---|---|---|---|
Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
Id soluție | #53470642 | Utilizator | |
Fișier | cezar.cpp | Dimensiune | 358 B |
Data încărcării | 01 Noiembrie 2024, 15:35 | Scor / rezultat | 100 puncte |
cezar.cpp: In function 'int main()': cezar.cpp:9:24: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(i=0; i<strlen(s); i++) ^ cezar.cpp:10:9: warning: suggest explicit braces to avoid ambiguous 'else' [-Wparentheses] if(s[i]>='a' &&s[i]<='z') ^
Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
---|---|---|---|---|---|---|
1 | 0 secunde | OK. | 20 | 20 | Exemplu | |
2 | 0 secunde | OK. | 20 | 20 | ||
3 | 0 secunde | OK. | 20 | 20 | ||
4 | 0 secunde | OK. | 20 | 20 | ||
5 | 0 secunde | OK. | 20 | 20 | ||
Punctaj total | 100 |
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Cezar 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ă.