CF1702A.Round Down the Price

传统题 时间 2000 ms 内存 256 MiB 3 尝试 1 已通过 1 标签

Round Down the Price

题目描述

在商店里,售货员希望将所有商品的价格都变成整洁的数字。

在本题中,若一个数字是 1010 的幂,则称其为“整洁数字”。例如,100=110^0 = 1101=1010^1 = 10102=10010^2 = 100 都是整洁数字,但 2020110110256256 不是整洁数字。

因此,如果某件商品的价格为 mm 布尔(商品的价格不超过 10910^9),售货员希望将其价格改为不大于 mm 的最近的整洁数字。他们想知道:需要将商品的价格减少多少布尔,才能使其价格恰好等于 10k10^k 布尔,其中 kk 的取值应尽可能大(kk 为任意非负整数)。

例如,若商品的价格为 178178 布尔,则新的价格应为 100100,答案为 178100=78178-100=78

输入格式

输入的第一行包含一个整数 tt1t1041 \le t \le 10^4),表示测试用例的数量。

每个测试用例为一行,包含一个整数 mm1m1091 \le m \le 10^9),表示商品的价格。

输出格式

对于每个测试用例,输出一行一个整数 dd0d<m0 \le d < m),表示需要将商品价格减少 dd 布尔,使得商品的价格变为最大的整洁数字。更正式地说:md=10km-d=10^k,其中 kk 为最大的非负整数。

说明/提示

例如:

  • 10=1001-0=10^0
  • 21=1002-1=10^0
  • 17878=102178-78=10^2
  • 2010=10120-10=10^1
  • 999999999899999999=108999999999-899999999=10^8
  • 90008000=1039000-8000=10^3
  • 987654321887654321=108987654321-887654321=10^8

注意,每个测试用例中,得到的都是最大的整洁数字。

由 ChatGPT 4.1 翻译

样例

7
1
2
178
20
999999999
9000
987654321
0
1
78
10
899999999
8000
887654321

在线编程 IDE

建议全屏模式获得最佳体验