カメヲラボ

主にプログラミングとお勉強全般について書いてます

CodeIQ過去問集23:n番目の数字は?

本エントリはCodeIQで2014年7月7日~11月11日に出題された コード銀行:n番目の数字は? という問題を再編集したものです。 ※出題時と記述が一部異なる場合がありますがご了承ください。

n番目の数字は?

【元になる数列】

5, 6, 7, 8, 9, 10, 11, 12, 13, ...

のように、5からはじまる連続した整数があります。 このとき、10以降は2桁以上の数が続きますが、これらの数をすべて1桁ずつ区切っていきます。

5, 6, 7, 8, 9, 1, 0, 1, 1, 1, 2, 1, 3, ...

このような数列について考えてください。

【問題】

上記の数列について、前からn番目の数字を効率よく求めるプログラムを書いてください。 (先頭を1番目とします

【入力】

テキストファイルに、いくつかの整数値が書かれています(改行区切り)。 各整数を入力nとして、実行結果を出力してください。 (例)sample.in.txt

1
2
3
4
5
6
7
8
9
10
11

【出力】

入力毎に、改行区切りで1ケタの整数を出力してください。 (例)sample.out.txt

5
6
7
8
9
1
0
1
1
1
2

【解答方法】

nthdigit.zipをダウンロードしてください。 中には以下のファイルが含まれています。

  • sample.in.txt, sample.out.txt

例で示したデータと、その解答です。

  • testdata.in.txt

これを入力として、正しい実行結果が得られるプログラムを書いてください。

(解答・解説は後日)