该问题的代码不起作用,请帮我用Python解决它
蛙跳问题
道路上铺着一排瓷砖,瓷砖的编号从1到1000。编号为A、B、C(A<B<C)的瓷砖上坐着三只蚱蜢,它们按照以下规则玩蛙跳游戏:
一块瓷砖上只能有一只蚱蜢。
一回合中,最外面的两只蚱蜢之一(即从 A 格或 C 格)可以跳过中间的蚱蜢(B 格)并站在剩下的两只蚱蜢中间的格子上(即,分别在 B 和 C 之间或 A 和 B 之间)。如果剩下的两只蚱蜢之间的棋子数量是偶数,那么他可以选择中间的两个棋子中的任何一个。
例如,如果蚱蜢最初坐在 1、5、10 号图块上,那么在第一次移动时,来自 10 号图块的蚱蜢可以跳到 3 号图块(它位于 1 和 5 之间的中间),或者从1 号图块可以跳转到 7 号或 8 号图块(这两个图块位于 5 号图块和 10 号图块之间)。
给出三个数字:A、B、C。确定游戏可以持续的最大步数。
输入数据
该程序接收三个整数 A、B 和 C (1≤A<B<C≤1000) 作为输入,这三个整数写在单独的行中。
印记
打印一个数字——游戏可以持续的最大步数。
注释例如
在本例中,首先,第 6 格的蚱蜢跳到 3 号格。然后,蚱蜢从#4 块跳到#2 块。
示例
输入数据
1
4
6
印记
2
它在 100 分满分的 4 分和 60 分测试中产生错误,但无法看出哪个错误:
a = int(input())
b = int(input())
c = int(input())
d = (c - b) + (b - a) - 2
s = 0
while d > 0:
s += 1
d >>= 1
print(s)