#6682. A. 错误的减法(Wrong Subtraction)

A. 错误的减法(Wrong Subtraction)

A. 错误的减法(Wrong Subtraction)

时间 / 空间限制

  • 时间限制:1 秒
  • 内存限制:256 MB

题目描述

小女孩 Tanya 正在学习如何将一个整数减 1,但她的做法是错误的,尤其是当这个数是一个 两位或更多位的整数 时。

她的减法规则如下:

对于一个数字 ( n ):

  • 如果 个位数字不为 0,她会将这个数减 1;
  • 如果 个位数字为 0,她不会减 1,而是将这个数 除以 10(即删除末尾的 0)

现在给定一个整数 ( n ),Tanya 会按照上述规则进行 ( k ) 次操作。

你的任务是输出经过这 ( k ) 次操作后的结果。


输入格式

一行两个整数:

n,k(2n109, 1k50)n, k \quad (2 \le n \le 10^9,\ 1 \le k \le 50)

含义:

  • ( n ):初始数字
  • ( k ):操作次数

输出格式

输出一个整数,表示经过 ( k ) 次操作后的结果。


保证条件

保证在进行 ( k ) 次操作后,结果始终是一个正整数。


样例

输入

512 4

输出

50

解释

操作过程如下:

512 → 511 → 510 → 51 → 50

输入

1000000000 9

输出

1
测试点编号 数据范围 / 输入 特殊性质 覆盖点与设计目的
1 n = 1, k = 0 弱数据 不执行任何操作,检查 k = 0 边界
2 n = 1, k = 1 单次减一后变为 0
3 n = 10, k = 1 末位为 0,单次除以 10
4 n = 19, k = 9 正常数据 连续减一,刚好减到 10,尚未除十
5 n = 19, k = 10 连续减一后触发一次除十
6 n = 1000, k = 3 连续多个末尾 0,多次除十
7 n = 1001, k = 4 先减一变成整十数,再连续除十
8 n = 12345, k = 5 多次减一后刚好到末位 0,不继续除十
9 n = 12345, k = 6 在第 6 次操作触发除十,卡边界
10 n = 909090, k = 12 减一与除十交替出现,覆盖混合流程
11 n = 10¹⁸, k = 18 极限数据 大数且全为 10 的幂,连续除十到 1
12 n = 9223372036854775807, k = 25 接近 long long 上界,覆盖大数连续减一与除十混合