现有两个大于零的正整数x和y,以及一个初始值为0的变量k。您可以无限次执行以下两种操作:
(1)k的值加1(即执行:k= k + 1);
(2)选取一个非负整数p,k的值加上x*10p (即当p≥0时,执行:k=k+x*10p)。
请找出上面描述的最小操作次数,最终可将k的值变换到y。
现有两个大于零的正整数x和y,以及一个初始值为0的变量k。您可以无限次执行以下两种操作:
(1)k的值加1(即执行:k= k + 1);
(2)选取一个非负整数p,k的值加上x*10p (即当p≥0时,执行:k=k+x*10p)。
请找出上面描述的最小操作次数,最终可将k的值变换到y。
第一行包含一个整数t(1≤t≤2*104):测试用例的数量。
每个测试用例由一行组成,包含两个整数x和y(1≤x,y≤109)。
3 2 7 3 42 25 1337
4 5 20
对于第一个测试用例,我们可以这样变换:
(1)k=k+1 =0+1=1
(2)k=k+2*100 =1+2=3
(3)k=k+2*100 =3+2=5
(4)k=k+2*100 =5+2=7
所以,最少的操作次数为4。
对于第二个测试用例,我们可以这样变换:
(1)k=k+3*101 =0+30=30
(2)k=k+3*100 =30+3=33
(3)k=k+3*100 =33+3=36
(4)k=k+3*100 =36+3=39
(5)k=k+3*100 =39+3=42
所以,最少的操作次数为5。