次のBNFにおいて非終端記号〈A〉から生成される文字列はどれか。
〈R0〉 ::= 0 | 3 | 6 | 9 〈R1〉 ::= 1 | 4 | 7 〈R2〉 ::= 2 | 5 | 8 〈A〉 ::= 〈R0〉 | 〈A〉〈R0〉 | 〈B〉〈R2〉 | 〈C〉〈R1〉 〈B〉 ::= 〈R1〉 | 〈A〉〈R1〉 | 〈B〉〈R0〉 | 〈C〉〈R2〉 〈C〉 ::= 〈R2〉 | 〈A〉〈R2〉 | 〈B〉〈R1〉 | 〈C〉〈R0〉
テクノロジ系
次のBNFにおいて非終端記号〈A〉から生成される文字列はどれか。
〈R0〉 ::= 0 | 3 | 6 | 9 〈R1〉 ::= 1 | 4 | 7 〈R2〉 ::= 2 | 5 | 8 〈A〉 ::= 〈R0〉 | 〈A〉〈R0〉 | 〈B〉〈R2〉 | 〈C〉〈R1〉 〈B〉 ::= 〈R1〉 | 〈A〉〈R1〉 | 〈B〉〈R0〉 | 〈C〉〈R2〉 〈C〉 ::= 〈R2〉 | 〈A〉〈R2〉 | 〈B〉〈R1〉 | 〈C〉〈R0〉
正解 ア
〈A〉〈B〉〈C〉は、各桁の和を3で割った余りが0、1、2の文字列に対応します。各桁の和が3の倍数になるのは123だけです。
〈R0〉は3で割った余りが0の数字、〈R1〉は余り1の数字、〈R2〉は余り2の数字です。〈A〉の規則では、余り0の後に〈R0〉、余り1(〈B〉)の後に〈R2〉、余り2(〈C〉)の後に〈R1〉を続けます。どれも各桁の和の余りが0になる組合せなので、〈A〉は各桁の和が3の倍数の文字列を生成します。123は、1が〈R1〉なので〈B〉、続く2で〈B〉〈R2〉=〈A〉、続く3で〈A〉〈R0〉=〈A〉となります。各桁の和も1+2+3=6で、3の倍数です。
イ:12は〈A〉ですが、続く4は〈R1〉なので〈A〉〈R1〉=〈B〉になります。各桁の和は7で、3で割ると1余ります。
ウ:12は〈A〉ですが、続く7は〈R1〉なので〈A〉〈R1〉=〈B〉になります。各桁の和は10で、3で割ると1余ります。
エ:12は〈A〉ですが、続く8は〈R2〉なので〈A〉〈R2〉=〈C〉になります。各桁の和は11で、3で割ると2余ります。
出典:平成26年度 春期 応用情報技術者試験 問3
全年度から出題。10問で実力を判定します。登録不要。
出典:平成26年度 春期 応用情報技術者試験 問3(独立行政法人情報処理推進機構)
解説と用語ページは生成 AI が書き、別の生成 AI が確かめています。作り方