回文数の数 2017.9.2

問題の概要

X, Y, B の3つの整数を指定する。 X以上Y未満の整数のうち、B進数で表現したときに回文数( see wikipedia )になる数の個数を数えるプログラムを書け。

入力

入力は
12,34,5
こんな感じ。
ふつうに X, Y, B を順にコンマ区切りで。ここではいずれも10進数。

出力

B進数が回文数になる数の個数を、普通に 10進数で。
1個もなければ 0 を出力すればよい。

先ほどの入力の場合、12以上 34未満で 5進数で回文数になるのは下表の通り、 5件なので、
5
と出力すればよい。

# 5進数表現 10進数表現
1 22 12
2 33 18
3 44 24
4 101 26
5 111 31

補足

サンプルデータ

# 入力 期待
0 12,34,5 5
1 10,11,10 0
2 1,100,3 18
3 11,12,10 1
4 12,13,10 0
5 123,456,7 33
6 38,274,14 17
7 98,76543,2 535
8 987,6543,2 103
9 5057,5202,3 2
10 98,76543,21 589
11 987,6543,21 264
12 1097,2889,11 35
13 2764,6482,17 132
14 16333,24085,8 121
15 21759,67173,20 114
16 32026,57805,22 53
17 188318,407853,6 523
18 51669,116065,30 72
19 294104,515248,32 216
20 444257,740280,15 1316
21 645098,2741620,9 2876
22 12345,987654321,2 62684
23 2467130,8433468,2 2902
24 323901,4712975,10 4389
25 12345,987654321,36 67446
26 3969344,4086910,24 205
27 19743263,83912295,5 11553
28 6349529,39870823,10 6637
29 66160071,153732445,5 5605
30 18799557,189007582,14 33741
31 78547566,225312226,20 18346
32 143084571,506549072,18 62323
33 2099642384,2789567569,6 14787

C/C++/Java 用のテストデータ