#3670
Cifrul Afin este un cifru unde fiecare literă este înlocuită cu o altă literă printr-o operație matematica. Fiecărei litere i se asociază un cod: a-0 , b-1 , c-2 , … z-25 . De asemenea, mai avem două numere a și b, numite chei. Fiecare literă se înlocuiește cu litera care are codul egal cu (a*x+b) mod 26 , unde x este codul literei. Pentru anumite perechi de numere a și b rezultatul expresiei (a*x+b) mod 26 poate fi același pentru valori diferite ale lui x; p pereche a b cu această proprietate se consideră ineficientă.
Dându-se valoarea celor două chei și un mesaj criptat să se afișeze mesajul decriptat. Dacă a și b formează o pereche ineficientă atunci se afișează mesajul -1.
cifrul Afin
| Problema | Afin1 | Operații I/O |
afin1.in/afin1.out
|
|---|---|---|---|
| Limita timp | 0.1 secunde | Limita memorie |
Total: 64 MB
/
Stivă 8 MB
|
| Id soluție | #34061704 | Utilizator | |
| Fișier | afin1.cpp | Dimensiune | 363 B |
| Data încărcării | 19 Ianuarie 2022, 20:42 | Scor/rezultat | 0 puncte |
afin1.cpp: In function 'int main()': afin1.cpp:14:29: warning: comparison between signed and unsigned integer expressions [-Wsign-compare] for(int i=0 ; i<strlen(s) ; i++) ^
| Test | Timp | Mesaj evaluare | Scor posibil | Scor obținut | ||
|---|---|---|---|---|---|---|
| 1 | 0 secunde | Raspuns gresit. | 10 | 0 | Exemplu | |
| 2 | 0 secunde | Raspuns gresit. | 10 | 0 | ||
| 3 | 0 secunde | Raspuns gresit. | 20 | 0 | ||
| 4 | 0 secunde | Raspuns gresit. | 20 | 0 | ||
| 5 | 0 secunde | Raspuns gresit. | 20 | 0 | ||
| 6 | 0 secunde | Raspuns gresit. | 10 | 0 | ||
| 7 | 0 secunde | Raspuns gresit. | 5 | 0 | ||
| 8 | 0.02 secunde | Raspuns gresit. | 5 | 0 | ||
| Punctaj total | 0 | |||||
www.pbinfo.ro permite evaluarea a două tipuri de probleme:
Problema Afin1 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ă.