YouTube講義はこちら

(難問)【令和4年度】数列のプログラム変換【総合職・数的処理】

令和4年度国家総合職大卒区分で出題された、『数列のプログラム変換』がテーマの問題です。

 

 『プログラム』といった単語のチョイスに時代を感じますが、実際には数列を単純に変換しているだけですので、そこまで突飛な問題という訳ではありません。 

 

ただし、総合職の問題らしく特定のヒラメキ(または慣れ)が無ければ解くのが難しい問題となっています。

 

問題文の理解 その1

長文の出題ですので、まずはしっかりと問題の構造を理解しましょう。 

問題文前半では、図示された数列の作り方が説明されています。 

 

上図のように1行1列から右に向かって1、2、3,4…と数字をふっていき、9の次は1に戻るようにします。

 

また、1行目では左から右、2行目では右から左、3行目ではまた左から右…というように奇数行と偶数行では数字をふっていく順序が異なっていることに注意が必要です。

 

問題文の理解 その2

続いてプログラムで数列を変換するという説明がされています。 

 

前述のとおり、変換前の数列は1〜9の9つの数字を使って構成されていましたが、変換後はそれぞれの数字が0〜3、5〜9のいずれかに変換されます。 

 

これによって、変換後の表については数字の並びがランダムになってしまいますが、『重複しない数字に変換される』といった性質を利用して問題を解いていくことになります。

 

 この時点で、上図左側に示すような『変換前』・『変換後』の対応表を作っておくとよいでしょう。

 

解答方針の検討

長文問題はやみくもに進めていくと迷子になってしまいますので、必ず最初に『解答方針』を決めるクセをつけましょう。

 

また、その際には選択肢も参考にするとベストです。

 

 今回の問題の場合、条件文・選択肢にざっと目を通すと『1行の数字の合計』に関する記述がほとんどを占めています。

 

 

例外となっているのは『最後の条件文』と『最後の選択肢』であり、これらは『列』に注目して数字の合計を述べています。 

 

条件として必要になるのは10〜12行目の数字ということになりますが、12行程度であれば実際に手を動かして書いてしまった方が早いかと思います。

 

参考までに、私が『図示されている表の続き』を12行目まで手書きした際の時間は 1分15秒でした。
数列の法則が単純ですのでほとんどの方がこのペース、あるいはもっと早く書き上げられるかと思います。
この程度の時間であればほぼ確実に、頭を使って列方向の合計を計算するよりは早いはずです。(一部の天才を除く) 
難しい問題になるほど解法の一部にこのような作業が発生しますので、『自分はどの程度の時間で、どれくらいのパターンを書き上げられるか』を把握しておくと、本試験当日に効率良く時間を使うことができるかと思います。
 

表を参考にしつつ、条件文を整理していく

左図を見た時に、気がつくことがいくつかあると思います。 
 
(1)10列目の数字は縦に1、2、3、4,5、6…と並んでいる。 
 
(2)1〜9列目の数字について、どの行を横に見ても1〜9の数字が1回ずつ登場している。 
 
さらに、(2)から検討を進めていくと、 
 
(3)『変換前』の表に関して、全ての行において1〜9列目の合計値は45となる。 
 
(4)『変換後』については、『1〜9』が『0〜3,5〜9』に変換されることから、各行1〜9列目の合計値は45−4=41となる。
 
ということが分かります。
 

条件文1の検討

これまでの検討で『変換前』の各行の合計値は『45+10列目の数』であり、『変換後』は『41+10列目の数』ということが分かりました。 
 
ここから、上図中央に示した2つの式が成立することになりますので、『変換前の2』は『変換後は6』となることが確定します。
 

条件文2の検討

条件文2についても、1と全く同様に考えることができます。 
 
上に示した数式によって『5』は『9』に変換されたことが分かりました。
 

条件文3の検討

条件文3については1・2とは文章の表現が異なりますが、同じように検討することが可能です。 
 
ケアレスミスに注意しながら数式を立てていくと、最終的に上図のように『19行目』『18行目』『17行目』に関する6本の数式を立てることができます(『?』にはそれぞれ別の数字が入ります)。 
 
検討によって『1、9、8』は『8、2、5』に変換されたことが分かりました。
 
 
条件文3は非常に総合職らしい文章であり、ケアレスミスを誘発するような表現が多く使われています。 
こういった表現は地方上級レベルでも少なからず使用されますので、惑わされないように慣れておく必要があるかと思います。 
与えられている条件そのものは単純ですので、注意深く読むことを心がけていれば怖がる必要はありません。
 

条件文4の検討 その1

条件文4ではこれまでとは異なり、『5列目』・『6列目』・『10列目』に着目した条件が提示されています。
 
まずは5・6列目について検討してみましょう。 
 
左上の表より、『変換前・5列目・10〜12行』に入る数字は『6・6・8』となり、その合計が20であることが確認できます。
 
変換後は『○・○・△』となり、合計は20よりも9少ない『11』になるはずです。 
 
ここで『変換前の8』についてはこれまでの検討から既に『5』になることが分かっていますので、『○+○+5=11』より『○=3』ということが判明し、『変換前の6』については『3』に変換されたことが確定します。 
 
6列目についても全く同じ流れで検討することにより、『変換前の7』は『1』に変換されたことが分かります。
 

条件文4の検討 その2

条件文4の残り部分である『10列目』についても、さきほどの流れと同様に検討することによって、上図のように『変換前3』の数字は『0』へと変換されたと分かります。 
 
これで『変換前1〜9』の数字のうち、『4』を除く全ての数字について変換後の数字が判明しました。
 
したがって『変換前4』については残りの数字である『7』に変換されたことが確定します。
 
 
『変換後』の数字は、『0、1、2、3、5、6、7、8、9』のいずれかであり『4』は含まれていないことに注意。
 

選択肢の検討

『変換前』・『変換後』の対応表を見ながら、順次選択肢を検討していくと選択肢2番が正解であることが分かります。(正解肢2
 
 

YouTube講義