小编Meh*_*ali的帖子

N的第N个Fibonacci数大到10 ^ 19?

我正在尝试制作一个程序来找到1 <n <10 ^ 19的第n个Fibonacci数.

这是我使用动态编程的代码.

memo = {}
def fib(n):
    if n in memo:
        return memo[n]
    if n <= 2:
        f = 1
    else:
        f = fib(n-1) + fib(n-2)
    memo[n]=f
    return f
print fib(input()) % 1000000007
Run Code Online (Sandbox Code Playgroud)

我的代码似乎不适用于大数字.我得到无效的响应错误.有什么建议?

python dynamic-programming fibonacci python-2.7

4
推荐指数
2
解决办法
4784
查看次数

最快的方法来猜测一个数字,只知道它是否高于或低于之前的猜测?

我试图解决一个问题,我必须猜测1到2*10 ^ 9之间的数字,只知道它是否高于或低于我之前的猜测.

现在我有一个适用于所有情况的代码,但它超过了猜测限制,只有31.

status = ""
high = 2000000000
low = 1
num = low
print num
while 1:
    status= raw_input()
    if status== "OK":
        break
    elif status == "Higher":
        low = num
    elif status == "Lower":
        high = num
    num = int((high+low)/2)
    print num
Run Code Online (Sandbox Code Playgroud)

我正在做的是从我的第一个猜测的最低数字开始,并根据响应重置低和高.

你能帮我找到更快的方法吗?

python

0
推荐指数
1
解决办法
328
查看次数