このキー暗号を実装する
ゴール
アルゴリズム(「アルゴリズム」セクションで説明)を使用して、特定の暗号を実装します。
プログラムは、STDINまたは利用可能な最も近い同等物から入力を読み取り、アルゴリズムを使用して暗号文とキーを生成する必要があります。
暗号文とキーは、STDOUTまたは利用可能な最も近いものに書き込まれます。暗号文とキーを出力する限り、任意の形式が許可されます。
アルゴリズム
文字列内の文字をそれぞれのASCII値に変換します。例えば:
Hello -> 72 101 108 108 111
次に、0〜9の範囲の乱数を含む文字列である限り、キーを生成する必要があります。
Hello -> 62841
乱数列の整数を文字列のASCII値に追加します。上記の例では、72は78になり、101は104になります。
72 + 6 = 78, 101 + 2 = 103, 108 + 8 = 116, etc
次に、新しい値を文字に戻します。上記の例では、テキストHello
はになっていNgtpp
ます。
例
(これらは出力がどのように見えるかの単なる例です。出力は変化する可能性があります。)
Hello World
Lfrlu)_supg
41606984343
This will be encoded
Zhjs$~koo gj$iuhofgj
60104723305544750226
ルール
- 入力には、az、AZ、およびスペースの範囲の文字のみが含まれると想定できます。
- 提出は完全なプログラムまたは機能でなければなりません。
- 提出物はバイト単位で記録されます。
- 標準的な抜け穴は禁止されています。
- これはコードゴルフなので、最短のコードが優先されます。
(これは私の最初の課題の1つです。何か問題がある場合は、改善方法を教えてください。)
preferably with the format (ciphertext)\n(key).
「好みの機能」とコードゴルフはあまりうまく調和しないと言われました。これを必須にするか、他の出力形式を許可する必要があります。3.キーはスペースなしで印刷する必要がありますか?リスト形式で印刷するのはどう[0, 5, 2, ...]
ですか?