#4234. 卡普雷卡尔数(KaprekarNumber)

卡普雷卡尔数(KaprekarNumber)

题目描述

对于一个非负整数 xx,我们定义 g1(x)g_1(x), g2(x)g_2(x), f(x)f(x) 如下:

  • 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)

给定整数 NN, KK,在序列 a0=Na_0=N, ai+1=f(ai) (i0)a_{i+1}=f(a_i)\ (i\geq 0) 中找到 aKa_K

输入格式

输入正整数NNKK

输出格式

输出aKa_K

样例

314 2
693
1000000000 100
0
6174 100000
6174

样例解释

【样例1说明】
我们有:

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

【样例2说明】
我们有:

  • a0=1000000000a_0=1000000000
  • a1=f(1000000000)=10000000001=999999999a_1=f(1000000000)=1000000000-1=999999999
  • a2=f(999999999)=999999999999999999=0a_2=f(999999999)=999999999-999999999=0
  • a3=f(0)=00=0a_3=f(0)=0-0=0
  • \vdots

数据范围

0N109,0K1050 \leq N \leq 10^9, 0 \leq K \leq 10^5, 所有输入都是整数。

来源

  • AtCoder ABC192C