1. 问题描述:
如果一个年份的各位数字中非零数字不超过 1 个,则称该年是一个幸运年。比如,100,40000,5 都是幸运年,而 12,3001,12345 则不是幸运年。现在,给定你一个年份,请你求出当前年份距离下一个幸运年多少年?
输入格式
第一行包含整数 T,表示共有 T 组测试数据。每组数据包含一个整数 n,表示当前年份。
输出格式
每组数据输出一行,一个整数,表示距离下一个幸运年的年数。
数据范围
1 ≤ T ≤ 100,
1 ≤ n ≤ 10 ^ 9。
输入样例1:
3
4
201
4000
输出样例1:
1
99
1000
来源:https://www.acwing.com/problem/content/3801/
2. 思路分析:
分析题目可以知道只有当首位不是0,其余位都是0的年份才是幸运年,所以我们可以根据输入的数字计算出下一个幸运年,下一个幸运年就是首位比输入数字的首位多1,其余位全是0的年份,两个年份相减就是答案。
3. 代码如下:
class Solution:
def process(self):
T = int(input())
for c in range(T):
x = input()
res = str(int(x[0]) + 1) + "0" * (len(x) - 1)
print(int(res) - int(x))
if __name__ == '__main__':
Solution().process()