You cannot submit for this problem because the contest is ended. You can click "Open in Problem Set" to view this problem in normal mode.
[ABC192C] Kaprekar Number
题面翻译
定义如下函数:
- g1(x) 为 x 在十进制下的数位按照降序排列形成的数;
- g2(x) 为 x 在十进制下的数位按照升序排列形成的数;
- f(x)=g1(x)−g2(x)。
给定 N,K,对于序列 a0=N,ai=f(ai−1)。求出 aK。
题目描述
0 以上の整数 x に対して、g1(x), g2(x), f(x) を次のように定めます。
- g1(x)= x を十進法で表したときの各桁の数字を大きい順に並び替えてできる整数
- g2(x)= x を十進法で表したときの各桁の数字を小さい順に並び替えてできる整数
- f(x)=g1(x)−g2(x)
例えば g1(314)=431, g2(3021)=123, f(271)=721−127=594 です。先頭の余分な 0 は無視されることに注意してください。
整数 N,K が与えられるので、a0=N, ai+1=f(ai) (i≥ 0) で定まる数列の aK を求めてください。
输入格式
入力は以下の形式で標準入力から与えられる。
N K
输出格式
aK を出力せよ。
样例 #1
样例输入 #1
314 2
样例输出 #1
693
样例 #2
样例输入 #2
1000000000 100
样例输出 #2
0
样例 #3
样例输入 #3
6174 100000
样例输出 #3
6174
提示
制約
- 0 ≤ N ≤ 109
- 0 ≤ K ≤ 105
- 入力は全て整数
Sample Explanation 1
- a0=314 - a1=f(314)=431−134=297 - a2=f(297)=972−279=693 です。
Sample Explanation 2
- a0=1000000000 - a1=f(1000000000)=1000000000−1=999999999 - a2=f(999999999)=999999999−999999999=0 - a3=f(0)=0−0=0 - ⋮ となります。