Bonjour tous le monde,
Dans l'énoncé d'exercice il m'ont demandé de déchiffrer un text dont la fréquence d'apparition de la lettre G est la plus dominante ce qui fait elle correspond a E dans la langue française , mais par la suite j'ai les deux lettres I et H ont la même fréquence d'apparition . Comment peux je me construire mon système de deux équations ?
Est ce que je dois tester les deux lettres où bien y'a une méthode plus optimale?
S'il vous plaît aide moi !
* modération > le niveau a été modifié en fonction du profil renseigné *
Passe à l'ordre 2 et regarde quels bigrammes (séquences de deux lettres consécutives) sont les plus fréquents et compare avec ta langue cible (le français ici) pour trancher entre le I et le H.
Je ne sais pas dans quel langage tu vas l'écrire, alors voici un pseudo-code hybride Python/C++
fonction analyse_frequentielle(texte : str, ordre_max=-1):
map<int, map<char, int>> M # ou un vecteur de map c'est toi qui vois
if(texte vide):
return M
len_texte = len(texte)
if ordre_max==-1 or ordre_max>len_texte:
ordre_max = len_texte
for(i=1; i<ordre_max; ++i):
m = map<char, int>();
for(j=0; j<len_texte-i; ++j)
s = texte[j:j+i]
if( s pas dans m):
m[s] = 0
m[s] += 1 # on compte les occurences de s
M[i] = m
return M
etaoinshrdlu = ... # map de reference correspondant à ta langue (le français)
fonction decrypter(texte_crypte):
M = analyse_frequentielle(texte_crypte, 2) # tu peux aussi ecrire un code qui trouve automatiquement le 2
# argmax(M[1]) est la lettre la plus fréquente
# argmax(M[2]) est le bigramme le plus fréquent
# etc
# ... ton code ici
Vous devez être membre accéder à ce service...
Pas encore inscrit ?
1 compte par personne, multi-compte interdit !
Ou identifiez-vous :