ABC83 C - Multiple Gift を解いた






数列を長くするのであれば、Ai+1,Ai の倍数はなるべく小さい方がいい。2 じゃね?
とりあえず、2 倍で数列を作って、配列長を答えとしてみる。

MultipleGift.py
x,y = map(int,input().split())

lis = [x]

for i in range(1,10001):
    if lis[i-1]*2 <= y:
        lis.append(lis[i-1]*2)
    else:
        break

print(len(lis))

以下の記述の方がイメージしやすいし、
読みやすいかも。

abc83c.py
X,Y = map(int,input().split())

lis = [X]

while True:
    if X*2 <= Y:
        X = 2*X
        lis.append(X)
        if X == Y:
            break
    else:
        break
print(len(lis))