アルゴリズムとプログラミング
ITパスポート試験|大文字の英字から成る文字列の暗号化を考える。英字と文字番号の対応は次のとおりである(A=0, B=1,…
大文字の英字から成る文字列の暗号化を考える。英字と文字番号の対応は次のとおりである(A=0, B=1, C=2, D=3, E=4, F=5, G=6, H=7, I=8, J=9, K=10, L=11, M=12, N=13, O=14, P=15, Q=16, R=17, S=18, T=19, U=20, V=21, W=22, X=23, Y=24, Z=25)。
暗号化の手順は次のとおりである。
手順1:表から英字を文字番号に変換する。
手順2:1文字目に1,2文字目に2,… n文字目にnを加算する。
手順3:26で割った余りを新たな文字番号とする。
手順4:表から文字番号を英字に変換する。
(例:"FAX"の暗号化。手順1で5,0,23 → 手順2で(5+1),(0+2),(23+3)=6,2,26 → 手順3で6,2,0 → 手順4でGCA)
この手順で暗号化した結果が"EGE"であるとき,元の文字列はどれか。
アBED
イDEB
ウFIH
エHIF
正解
イ.DEB
暗号化を逆にたどる。暗号文EGEの文字番号はE=4,G=6,E=4。手順2では位置nを加算したので,復号では各文字番号からn(1文字目1,2文字目2,3文字目3)を引く。(4−1,6−2,4−3)=(3,4,1)。26で割った余りに直しても3,4,1のまま。表より3=D,4=E,1=BでDEB。よってイが正しい。なお検算:DEB(3,4,1)を暗号化すると(3+1,4+2,1+3)=(4,6,4)=EGEとなり一致する。
?選択肢ごとの解説
ア ×BEDは文字番号1,4,3。暗号化すると(1+1,4+2,3+3)=(2,6,6)=CGGとなりEGEにならない。元文字列ではない。
イ ○暗号化を逆にたどる。暗号文EGEの文字番号はE=4,G=6,E=4。手順2では位置nを加算したので,復号では各文字番号からn(1文字目1,2文字目2,3文字目3)を引く。(4−1,6−2,4−3)=(3,4,1)。26で割った余りに直しても3,4,1のまま。表より3=D,4=E,1=BでDEB。よってイが正しい。なお検算:DEB(3,4,1)を暗号化すると(3+1,4+2,1+3)=(4,6,4)=EGEとなり一致する。
ウ ×FIHは文字番号5,8,7。暗号化すると(5+1,8+2,7+3)=(6,10,10)=GKKとなりEGEにならない。加算方向(復号では減算)を取り違えると選び…
エ ×HIFは文字番号7,8,5。暗号化すると(7+1,8+2,5+3)=(8,10,8)=IKIとなりEGEにならない。
アルゴリズムとプログラミングの他の問題
関数 checkDigit は,10進9桁の整数の各桁の数字が上位の桁から順に格納された整数型の配列…次の流れ図で示す処理を終了したとき,xの値はどれか。 〔流れ図〕 1. 開始 2. x を 98 とする 3. y を…手続 printArray は,配列 integerArray の要素を並べ替えて出力する。手続 printArray…関数 sigma は,正の整数を引数 max で受け取り,1から max までの整数の総和を戻り値とする。プログラム中の…配列に格納されているデータを探索するときの,探索アルゴリズムに関する手続 calcMod3 を呼び出したときの出力はどれか。 〔プログラム〕4個の要素から成るデータの並びを,次の手順を繰り返して昇順に整列するとき,整列が終了するまでに(1)から(3)の一連の手順は…関数 calculateAmountOfPrize は,業務改善の効果における改善額と短縮期間を,それぞれ…
この問題の「深掘り・誤答の完全解説・覚え方」は、登録すると読めます。
ITパスポート試験は全2,669問。公開しているのはその一部で、登録すると残りも一問ごとにAI解説つきで解けます。SRS暗記カード・全真模試・弱点診断まで。
登録は1分・クレジットカード不要。無料のまま練習・暗記カード・模試まで使えます。
作成・校閲:ukamiru編集部 · 最終更新 2026-08-15 · ITパスポート試験 過去問 · itpass-r1a-q70
