解题思路
设两种彩票面值分别为n n n 和n + 1 n+1 n + 1 ,商品价格为m m m 。
如果一共买了k k k 张彩票,那么总金额最少是全买n n n 元时的
k n kn kn
总金额最多是全买n + 1 n+1 n + 1 元时的
题目内容
游游有两种不同面额的钞票,各无限张:一种面值为 n n n 元,另一种面值为 n + 1 n+1 n + 1 元。游游想购买一件价格为 m m m 元的商品。该自助商店没有找零系统,即,若付款金额超过商品价格,商店不会找零,多余部分由买家自行承担;付款金额必须不少于商品价格。请你计算,若想完成购买,最少需要额外多支付多少元;若能刚好支付,则额外花费为 0 0 0 。
输入描述
每个测试文件均包含多组测试数据。第一行输入一个整数 T ( 1 ≤ T ≤ 10 4 ) T\ (1 \le T \le 10^4) T ( 1 ≤ T ≤ 1 0 4 ) 表示数据组数。每组测试数据描述如下:
在一行上输入两个整数 n , m ( 1 ≤ n , m ≤ 10 9 ) n,m\ (1 \le n,m \le 10^9) n , m ( 1 ≤ n , m ≤ 1 0 9 ) ,分别表示钞票的较小面值与商品价格。
输出描述
对于每一组测试数据,新起一行。
样例1
输入
3
3 8
4 6
5 7
输出
0
2
3
说明
第一组输入 n = 3 , m = 8 n=3, m=8 n = 3 , m = 8 :
两种钞票面值为 3 3 3 元和 4 4 4 元。存在组合 3 + 5 = 8 3+5=8 3 + 5 = 8 (3 3 3 元钞票用1张,4 4 4 元钞票用1张,总计 3 + 4 = 8 3+4=8 3 + 4 = 8 ),刚好支付商品价格,因此额外支付金额为 0 0 0 。
第二组输入 n = 4 , m = 6 n=4, m=6 n = 4 , m = 6 :
两种钞票面值为 4 4 4 元和 5 5 5 元。无法凑出恰好 6 6 6 元的付款金额,需寻找不小于 6 6 6 的最小付款金额:
尝试 4 4 4 元钞票:1 1 1 张为 4 4 4 (不足),2 2 2 张为 8 8 8 (满足),额外支付 8 − 6 = 2 8-6=2 8 − 6 = 2 ;
尝试 5 5 5 元钞票:1 1 1 张为 5 5 5 (不足),2 2 2 张为 10 10 10 (满足),额外支付 10 − 6 = 4 10-6=4 10 − 6 = 4 。
对比后最小额外支付金额为 2 2 2 。
第三组输入 n = 5 , m = 7 n=5, m=7 n = 5 , m = 7 :
两种钞票面值为 5 5 5 元和 6 6 6 元。无法凑出恰好 7 7 7 元的付款金额,需寻找不小于 7 7 7 的最小付款金额:
尝试 5 5 5 元钞票:1 1 1 张为 5 5 5 (不足),2 2 2 张为 10 10 10 (满足),额外支付 10 − 7 = 3 10-7=3 10 − 7 = 3 ;
尝试 6 6 6 元钞票:1 1 1 张为 6 6 6 (不足),2 2 2 张为 12 12 12 (满足),额外支付 12 − 7 = 5 12-7=5 12 − 7 = 5 。
对比后最小额外支付金额为 3 3 3 。