カメヲラボ

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

CodeIQ過去問集20:「7」の数を数えよう

本稿はCodeIQで2014年5月26日~7月7日に出題された コード銀行:「7」の数を数えよう という問題を再編集したものです。 ※出題時と記述が一部異なる場合がありますがご了承ください。

「7」の数を数えよう

【問題】

1からnまで連続する正の整数があります。それらの中に、「7」がいくつあるかを数えてください。

【例】

n = 99とすると、

 1  2  3  4  5  6  7  8  9 10
11 12 13 14 15 16 17 18 19 20
21 22 23 24 25 26 27 28 29 30
31 32 33 34 35 36 37 38 39 40
41 42 43 44 45 46 47 48 49 50
51 52 53 54 55 56 57 58 59 60
61 62 63 64 65 66 67 68 69 70
71 72 73 74 75 76 77 78 79 80
81 82 83 84 85 86 87 88 89 90
91 92 93 94 95 96 97 98 99

「7」を含む値は、

7 17 27 37 47 57 67 70 71 72 73 74 75 76 77 78 79 87 97

の19個ですが、77には「7」が2つ含まれています。ですので、「7」の数は19個ではなく、20個と答えてください。

【テストデータ】

入力

nの値が次の5つの場合について、解を計算してください。

99
77777
23678947
732465890
1912478368

出力

上記の入力に対して、以下のような出力が得られれば正解です。

20
38890
16140633
614891670
1728439836

(解説は後日)