Rezolvare PBinfo #3190

Decorative Icon Problema: Vigenere / 3190

Decorative IconAutor: Andrei

Vigenere

La fel ca cifrul Cezar, cifrul Vigenere deplasează literele, dar acesta folosește o deplasare multiplă. Cheia este constituită din câțiva întregi ki, unde 0 ≤ ki ≤ 25.

Aceşti întregi pot fi, de exemplu, k = (21, 4, 2 19, 14, 17). Această cheie ar provoca deplasare primei litere cu 21, c1 = p1 + 21 (mod 26), a celei de-a doua cu 4, c2 = p2 + 4 (mod 26), ş.a.m.d. până la sfârşitul cheii și apoi de la început, din nou.

Pentru o memorare mai ușoară cheia este de regulă dată printr-un cuvânt – cheia de mai sus corespunde cuvântului vector, litera 'v'” corespondând numărului 21 (numerotarea începe de la 0), litera 'e' cu 4, etc.

Un exemplu de cifru Vigenere:

Textul clar: thisisanexampleofthevigenerecipher
Cheia: vector
Textul cifrat: olklwjvrgqodkpghtkcixbuviitxqzklgk

Cerința

Se citesc două texte a și b cu lungimea maximă de 255 de caractere. Să se afișeze textul după aplicarea cifrului Vigenere la textul a cu cheia b.

Date de intrare

Fișierul de intrare vigenere.in conține pe prima linie textul a iar pe a doua linie textul b.

Date de ieșire

Fișierul de ieșire vigenere.out va conține pe prima linie rezultatul criptării.

Restricții și precizări
  • lungimea lui b ≤ Lungimea lui a ≤ 255;
  • cele două șiruri vor conține doar litere mici din alfabetul englez.
Exemplu:

vigenere.in

pbinfo
dio

vigenere.out

sjwqnc

Explicație

În Cifrul Vigenere începem numărătoarea caracterelor din cheie de la 0, astfel, caracterul 'd' din cheie deplasează caractrrul corespunzător din text cu 3 caractere; astfel, 'p' devine 's'. Acest procedeu se repetă și pentru restul șirului.

Decorative Icon Explică rezolvarea folosind Inteligența Artificială

Folosește modelul nostru de AI special antrenament pentru a rezolva problemele de pe PBinfo! În baza creditelor AI primești explicații pentru probleme, pe care le alegi și le rulezi exact atunci când dorești, la un singur click distanță! Află mai multe informații:

👉 Achiziționează credite AI
Andrei Frîntu
Andrei Frîntu

Fondatorul platformei - mentor Academia

LinkedIn Instagram GitHub
© Copyright 2026 - CodulLuiAndrei.ro - Toate drepturile sunt rezervate