アルゴリズムとプログラミング (全23問中10問目)

No.10

大文字の英字から成る文字列の暗号化を考える。暗号化の手順と例は次のとおりである。この手順で暗号化した結果が"EGE"であるとき,元の文字列はどれか。
70.png/image-size:518×296
  • BED
  • DEB
  • FIH
  • HIF

分類

テクノロジ系 » アルゴリズムとプログラミング » アルゴリズムとプログラミング

正解

解説

各選択肢の文字列を暗号化してみて、結果が"EGE"になるものを見つけます。
  • BED
    ↓(Bは1、Eは4、Dは3なので)
    1,4,3
    ↓(1+1、4+2、3+3で)
    2,6,6
    ↓(各数字を26で割った余り)
    2,6,6
    ↓(2はC、6はGなので)
    CGG
  • DEB
    ↓(Dは3、Eは4、Bは1なので)
    3,4,1
    ↓(3+1、4+2、1+3で)
    4,6,4
    ↓(各数字を26で割った余り)
    4,6,4
    ↓(4はE、6はGなので)
    EGE(正解)
  • FIH
    ↓(Fは5、Iは8、Hは7なので)
    5,8,7
    ↓(5+1、8+2、7+3で)
    6,10,10
    ↓(各数字を26で割った余り)
    6,10,10
    ↓(6はG、10はKなので)
    GKK
  • HIF
    ↓(Hは7、Iは8、Fは5なので)
    7,8,5
    ↓(7+1、8+2、5+3で)
    8,10,8
    ↓(各数字を26で割った余り)
    8,10,8
    ↓(8はI、10はKなので)
    IKI
※"EGE"から暗号化とは逆の手順を適用して「EGE→464→341→DEB」というように元の文字列を求めることもできるのですが、2の手順後の各数字が確実に25以下であることを説明しなければならないため、一つずつ暗号化して確かめる解説にしています。
© 2009-2024 ITパスポート試験ドットコム All Rights Reserved.

Pagetop