100 atcoder#ABC192C. [ABC192C] Kaprekar Number

[ABC192C] Kaprekar Number

题目描述

0 0 以上の整数 x x に対して、g1(x), g2(x), f(x) g_1(x),\ g_2(x),\ f(x) を次のように定めます。

  • g1(x)= g_1(x)= x x を十進法で表したときの各桁の数字を大きい順に並び替えてできる整数
  • g2(x)= g_2(x)= x x を十進法で表したときの各桁の数字を小さい順に並び替えてできる整数
  • f(x)=g1(x)g2(x) f(x)=g_1(x)-g_2(x)

例えば g1(314)=431 g_1(314)=431 , g2(3021)=123 g_2(3021)=123 , f(271)=721127=594 f(271)=721-127=594 です。先頭の余分な 0 0 は無視されることに注意してください。

整数 N,K N,K が与えられるので、a0=N a_0=N , ai+1=f(ai) (i 0) a_{i+1}=f(a_i)\ (i\geq\ 0) で定まる数列の aK a_K を求めてください。

输入格式

入力は以下の形式で標準入力から与えられる。

N N K K

输出格式

aK a_K を出力せよ。

题目大意

定义如下函数:

  • g1(x)g_1(x)xx 在十进制下的数位按照降序排列形成的数;
  • g2(x)g_2(x)xx 在十进制下的数位按照升序排列形成的数;
  • f(x)=g1(x)g2(x)f(x)=g_1(x)-g_2(x)

给定 N,KN,K,对于序列 a0=Na_0=Nai=f(ai1)a_i=f(a_{i-1})。求出 aKa_K

314 2
693
1000000000 100
0
6174 100000
6174

提示

制約

  • 0  N  109 0\ \leq\ N\ \leq\ 10^9
  • 0  K  105 0\ \leq\ K\ \leq\ 10^5
  • 入力は全て整数

Sample Explanation 1

- a0=314 a_0=314 - a1=f(314)=431134=297 a_1=f(314)=431-134=297 - a2=f(297)=972279=693 a_2=f(297)=972-279=693 です。

Sample Explanation 2

- a0=1000000000 a_0=1000000000 - a1=f(1000000000)=10000000001=999999999 a_1=f(1000000000)=1000000000-1=999999999 - a2=f(999999999)=999999999999999999=0 a_2=f(999999999)=999999999-999999999=0 - a3=f(0)=00=0 a_3=f(0)=0-0=0 - \vdots となります。