S - Digit Sum
解説
/
実行時間制限: 2 sec / メモリ制限: 1024 MB
配点 : 100 点
問題文
1 以上 K 以下の整数のうち、十進表記における各桁の数字の総和が D の倍数であるようなものは何個でしょうか? 10^9 + 7 で割った余りを求めてください。
制約
- 入力はすべて整数である。
- 1 \leq K < 10^{10000}
- 1 \leq D \leq 100
入力
入力は以下の形式で標準入力から与えられる。
K D
出力
条件を満たす整数は何個か? 10^9 + 7 で割った余りを出力せよ。
入力例 1
30 4
出力例 1
6
4, 8, 13, 17, 22, 26 の 6 個です。
入力例 2
1000000009 1
出力例 2
2
答えを 10^9 + 7 で割った余りを出力することを忘れずに。
入力例 3
98765432109876543210 58
出力例 3
635270834
Score : 100 points
Problem Statement
Find the number of integers between 1 and K (inclusive) satisfying the following condition, modulo 10^9 + 7:
- The sum of the digits in base ten is a multiple of D.
Constraints
- All values in input are integers.
- 1 \leq K < 10^{10000}
- 1 \leq D \leq 100
Input
Input is given from Standard Input in the following format:
K D
Output
Print the number of integers satisfying the condition, modulo 10^9 + 7.
Sample Input 1
30 4
Sample Output 1
6
Those six integers are: 4, 8, 13, 17, 22 and 26.
Sample Input 2
1000000009 1
Sample Output 2
2
Be sure to print the number modulo 10^9 + 7.
Sample Input 3
98765432109876543210 58
Sample Output 3
635270834