饥饿的小易

小易总是感觉饥饿,所以作为章鱼的小易经常出去寻找贝壳吃。最开始小易在一个初始位置x_0。对于小易所处的当前位置x,他只能通过神秘的力量移动到 4 * x + 3或者8 * x + 7。因为使用神秘力量要耗费太多体力,所以它只能使用神秘力量最多100,000次。贝壳总生长在能被1,000,000,007整除的位置(比如:位置0,位置1,000,000,007,位置2,000,000,014等)。小易需要你帮忙计算最少需要使用多少次神秘力量就能吃到贝壳。
 
from math import log,ceil
x = int(input())
 
a = 2
if x % 1000000007 == 0:
    print(0)
else:
    x = (4*x +3) % 1000000007
    while x and a < 300001:
        x = (x*2 +1)% 1000000007
        a += 1
    if x:
        print(-1)
    else:
        print((a+2)//3)
View Code

 

posted @ 2017-10-20 09:37  suekPeng  阅读(201)  评论(0编辑  收藏  举报