HOME»基本情報技術者試験掲示板»平成29年秋期午後問8
投稿する

平成29年秋期午後問8 [4086]

 misakiさん(No.1) 
設問2のdの解説が、何度読んでも分からず困っています。
分かりやすく解説していただきたいです。よろしくお願いします。
2022.04.05 22:13
chihiroさん(No.2) 
FE プラチナマイスター
〔プログラムの説明〕にもあるように、検査文字の生成は偶数番目(または奇数番目)の文字の数値の足し合わせで行われています(2倍してNで割り~とあるのも最後の処理は足し合わせです)。よって偶数番目同士、または奇数番目同士の文字を入れ替えても生成される検査文字は同じになります(偶数番目同士、奇数番目同士の入れ替えでさえあれば、どれだけ入れ替えを行っても検査文字は同じになります)。設問2のケース2,4は、偶数番目同士、または奇数番目同士の文字だけを入れ替えたものなので、同じ検査文字が生成されて誤りと判定されません。
2022.04.05 22:38
 misakiさん(No.3) 
ありがとうございます!
質問が2つあります。
①この問題では、まず検査文字付文字列ipa␣␣fが誤りありかなしかを調べますよね?
②その結果で、2と4が誤りなしと判断できることは分かるのですが、1と3も総和が異なるなら、調べてみないと答えは分からなくないですか?
2022.04.08 08:33
 misakiさん(No.4) 
文字化けしています。すみません。
①…検査文字付文字列ipa__です。
2022.04.08 08:35
chihiroさん(No.5) 
FE プラチナマイスター
この投稿は投稿者により削除されました。(2022.04.08 09:25)
2022.04.08 09:25
chihiroさん(No.6) 
FE プラチナマイスター
文字化けしたので再投稿しました。
"_"と"z"のように入れ替えても合計が変わらない組み合わせもありますが、本問ではありませんね。普通は偶数番目同士、奇数番目同士の入れ替えでなければ結果は変わるということで。どうしても疑わしければ実際に計算してみてもいいと思います。
2022.04.08 09:25
FE受かりたいマンさん(No.7) 
1のケースは問題文に
> 検査文字付文字列の誤りが1文字であれば,誤りを検出できる。
と書いてあるので除外出来ます。
それで3のケースですが、奇数同士と偶数同士文字が入れ替わってる以外でも2文字以上が異なる場合
0で割り切れるケースが発生します。(ex inb__f)
計算式を見る限り奇数と偶数の文字を入れ換えて同じ総和になるケースなんて殆どなさそうですが
100%の確信を持って間違いだと回答するためには3のケースは総和を検証しないといけません。
2022.04.08 09:25
 misakiさん(No.8) 
お二方ありがとうございます!
だいぶ理解できました。
2022.04.09 21:54
返信投稿用フォームスパム防止のためにスレッド作成日から30日経過したスレッドへの投稿はできません。
© 2010- 基本情報技術者試験ドットコム All Rights Reserved.

Pagetop