Mettre en œuvre ce chiffre clé
Objectif
Utilisez l'algorithme (expliqué dans la section Algorithme) pour implémenter un certain chiffre.
Le programme doit lire les entrées de STDIN ou l'équivalent disponible le plus proche, utiliser l'algorithme pour générer le texte chiffré et une clé.
Le texte chiffré et la clé seront écrits dans STDOUT ou l'équivalent disponible le plus proche. N'importe quel format est autorisé, tant qu'il génère le texte chiffré et la clé.
Algorithme
Convertissez les caractères de la chaîne en valeurs ASCII respectives. Par exemple:
Hello -> 72 101 108 108 111
Ensuite, vous devrez générer une clé tant que la chaîne avec des nombres aléatoires compris entre 0 et 9.
Hello -> 62841
Ajoutez les entiers de la séquence de nombres aléatoires aux valeurs ASCII de la chaîne. Dans les exemples ci-dessus, 72 deviendrait 78 et 101 deviendrait 104.
72 + 6 = 78, 101 + 2 = 103, 108 + 8 = 116, etc
Ensuite, reconvertissez les nouvelles valeurs en caractères. Dans les exemples ci-dessus, le texte Hello
est devenu Ngtpp
.
Exemples
(Ce ne sont que des exemples de ce à quoi pourrait ressembler la sortie . La sortie peut varier et variera.)
Hello World
Lfrlu)_supg
41606984343
This will be encoded
Zhjs$~koo gj$iuhofgj
60104723305544750226
Règles
- Vous pouvez supposer que l'entrée ne contiendra que des caractères dans la plage az, AZ et les espaces.
- Les soumissions doivent être des programmes ou des fonctions complets.
- Les soumissions seront notées en octets.
- Les failles standard sont interdites.
- C'est le code-golf, donc le code le plus court l'emporte.
(C'est l'un de mes premiers défis, s'il y a quelque chose qui ne va pas, n'hésitez pas à me dire comment je pourrais l'améliorer.)
preferably with the format (ciphertext)\n(key).
«fonctionnalités préférées» et le golf de code ne se mélangent pas très bien. Vous devez rendre cela obligatoire ou autoriser d'autres formats de sortie. 3. La clé doit-elle être imprimée sans espaces? Qu'en est-il de l'impression sous forme de liste, par exemple[0, 5, 2, ...]
?