题目描述:
小明在玩一个数字加减游戏,只使用加法或者减法,将一个数字s变成数字t。 每个回合,小明可以用当前的数字加上或减去一个数字。 现在有两种数字可以用来加减,分别为a,b(a!=b),其中b没有使用次数限制。 请问小明最少可以用多少次a,才能将数字s变成数字t。 题目保证数字s一定能变成数字t。
输入描述:
输入的唯一一行包含四个正整数s,t,a,b(1<=s,t,a,b<=105),并且a!=b。
输出描述:
输出的唯一一行包含一个整数,表示最少需要使用多少次a才能将数字s变成数字t。
示例1
输入:
1 10 5 2
输出:
1
说明:
初始值1加一次a变成6,然后加两次b变为10,因此a的使用次数为1次。
示例2
输入:
11 33 4 10
输出:
2
说明:
11减两次a变成3,然后加三次b变为33,因此a的使用次数为2次。
解题思路:
由于是要求次数最少,那么a只可能是+或者-,而不会出现又+又-,把各种情况列一下,计算最小值即可
#华为机试,emo了#
s,t,a,b=map(int,input().split())
min_time=0
for i in range(105):
if abs(t+a*i-s)%b==0:
min_time=i
break
if abs(t-a*i-s)%b==0:
min_time = i
break
print(min_time)