N, K = map(int, input().split())
for i in range(K):
min = int("".join(sorted(str(N))))
max = int("".join(sorted(str(N), reverse = True)))
N = max - min
print(N)
関数を用いた解法はこちら https://atcoder.jp/contests/abc192/editorial/688
def g1(n):
return int(''.join(sorted(str(n))[::-1]))
def g2(n):
return int(''.join(sorted(str(n))))
def f(n):
return g1(n)-g2(n)
N,K = map(int,input().split())
for _ in range(K):
N = f(N)
print(N)
いわゆるワンライナーは、AtCoderや個人プロジェクトにおいては、個人的に書いていて気持ちが良いので多用してしまいがちですが、チームでの保守においては可読性が著しく低下するため、実際の現場では使用を控えた方がよいでしょう。
Quick Links
Legal Stuff