IPA過去問ドリル

平成29年度 秋期 応用情報技術者試験 午前 問2

テクノロジ/基礎理論

次の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>

出典:平成29年度 秋期 応用情報技術者試験 午前 問2

正解:ア

解説

R0,R1,R2はそれぞれ3の倍数(余り0),3で割って1余る数,3で割って2余る数の集合です。生成規則をたどると,<A>は各桁の数字の和を3で割った余りが0になる文字列,<B>は余りが1,<C>は余りが2になる文字列を生成する構造になっています。

選択肢ごとの解説

  • 正しい。123の各桁の和は1+2+3=6で3の倍数(余り0)なので,<A>から生成されます。
  • 誤り。124の各桁の和は1+2+4=7で3で割ると1余るため,<A>ではなく<B>から生成される文字列です。
  • 誤り。127の各桁の和は1+2+7=10で3で割ると1余るため,<A>ではなく<B>から生成される文字列です。
  • 誤り。128の各桁の和は1+2+8=11で3で割ると2余るため,<A>ではなく<C>から生成される文字列です。
応用情報技術者の過去問を演習モードで解く