Divisibility Problem (Codeforces 1328A)
Tags: Math, math

You are given two positive integers $$$a$$$ and $$$b$$$. In one move you can increase $$$a$$$ by $$$1$$$ (replace $$$a$$$ with $$$a+1$$$). Your task is to find the minimum number of moves you need to do in order to make $$$a$$$ divisible by $$$b$$$. It is possible, that you have to make $$$0$$$ moves, as $$$a$$$ is already divisible by $$$b$$$. You have to answer $$$t$$$ independent test cases.

Input: The first line of the input contains one integer $$$t$$$ ($$$1 \le t \le 10^4$$$) — the number of test cases. Then $$$t$$$ test cases follow.The only line of the test case contains two integers $$$a$$$ and $$$b$$$ ($$$1 \le a, b \le 10^9$$$).

Output: For each test case print the answer — the minimum number of moves you need to do in order to make $$$a$$$ divisible by $$$b$$$.


Sample Inputs:
5
10 4
13 9
100 13
123 456
92 46

Sample Outputs:
2
5
4
333
0

Solution (Python):
t = int(input())
lst = []
moves = []
for i in range(t):
    count = 0
    (a, b) = map(int, input().split())
    if a % b != 0:
        count = b - a % b
    moves.append(count)
for i in moves:
    print(i)

Solution (Python):
a = int(input())
solucion = []
for i in range(a):
    b = input().split()
    divi = int(b[0])
    sor = int(b[1])
    if divi % sor == 0:
        solucion.append(0)
    else:
        operador = 1 + divi // sor
        diferencia = operador * sor - divi
        solucion.append(diferencia)
for i in solucion:
    print(i)

Solution (Python):
import sys
t = int(sys.stdin.readline().split()[0])
for line in sys.stdin:
    a = int(line.split()[0])
    b = int(line.split()[1])
    steps = 0
    if a % b == 0:
        print('0')
    else:
        print(b - a % b)