Xifratge de Vigenère

Hi ha moltes maneres d’intentar amagar un text. Una d’elles és el
xifratge de Vigenère: Sigui s una paraula amb lletres minúscules (les 26
de l’alfabet anglès), i sigui t el text que volem xifrar, també compost
per lletres minúscules. Sigui c la concatenació d’infinites còpies de la
paraula s. Definim el valor d’una lletra ℓ, v(ℓ), com la distància d’ℓ
fins a ‘a’. És a dir, v(‘a’) = 0, v(‘b’) = 1, …, v(‘z’) = 25. Cada t[i]
s’ha de convertir en la lletra que es troba v(c[i]) posicions a la dreta
en l’alfabet, si cal “donant la volta”.

Per exemple, podem tenir s= “hola” i t= “patata”. Llavors c=
“holaholahola…”. Com que c[0]=‘h’ i v(‘h’) = 7, t[0]=‘p’ s’ha de
convertir en ‘w’ (la lletra que està 7 posicions a la dreta de ‘p’).
Similarment, c[1]=‘o’ i v(‘o’) = 14, així que t[1]=‘a’ es converteix en
‘o’. Per a la tercera lletra, tenim c[2]=‘l’ i v(‘l’) = 11, així que
t[2]=‘t’ es converteix en ‘e’ (fent 11 passes a la dreta començant en
‘t’, ens passem de la ‘z’, així que seguim des de l’‘a’).

Feu un programa que implementi el Xifratge de Vigenère.

Entrada

L’entrada consisteix en diversos casos, cadascun en dues línies, les
quals contenen s i t, respectivament. Ni s ni t són paraules buides. A
més de lletres minúscules, t pot contenir “barres baixes” (‘_’).

Sortida

Escriviu una línia per a cada cas, amb el xifratge de t tal i com s’ha
explicat anteriorment, substituïnt cada ‘_’ per un espai.

Informació del problema

Autoria: Salvador Roura

Generació: 2026-01-25T11:07:50.213Z

© Jutge.org, 2006–2026.
https://jutge.org
