次の 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〉は各桁の和が3で割り切れる数字列を、〈B〉は余り1、〈C〉は余り2の数字列を表します。各桁の和が6の123だけが〈A〉になります。
〈R0〉は3で割った余りが0の数字、〈R1〉は余り1の数字、〈R2〉は余り2の数字です。〈A〉の右辺は、余りの合計が0になる組合せ(余り0に0、余り1に2、余り2に1を続ける)になっています。123を左から追うと、1は〈R1〉なので〈B〉です。〈B〉に2(〈R2〉)が続くので、12は〈A〉です。〈A〉に3(〈R0〉)が続くので、123は〈A〉になります。
イ:12は〈A〉ですが、4は〈R1〉なので、124は〈A〉〈R1〉から〈B〉になります。各桁の和は7で、3で割った余りは1です。
ウ:12は〈A〉ですが、7は〈R1〉なので、127は〈A〉〈R1〉から〈B〉になります。各桁の和は10で、3で割った余りは1です。
エ:12は〈A〉ですが、8は〈R2〉なので、128は〈A〉〈R2〉から〈C〉になります。各桁の和は11で、3で割った余りは2です。
出典:平成29年度 秋期 応用情報技術者試験 問2
全年度から出題。10問で実力を判定します。登録不要。
出典:平成29年度 秋期 応用情報技術者試験 問2(独立行政法人情報処理推進機構)
解説と用語ページは生成 AI が書き、別の生成 AI が確かめています。作り方