Q64

来源:互联网 发布:淘宝保证金会退会扣吗 编辑:程序博客网 时间:2024/05/17 08:46

def fun(dl,dr,n):
    global answer
    a = (dl - dr*dr) / n #a: n
    for i in range(int(math.sqrt(dl)),-1,-1):
        if (i + dr) % a == 0:
            b = i # b: dr            
            break
    size_set = len(result_set)
    #result_set.add(a/(math.sqrt(23)-b))
    if len(result_list) >=2:
        if result_list[1] == a/(math.sqrt(dl)-b):
            size_list = len(result_list) - 1
            if (size_list) % 2 != 0:
                answer += 1
                print size_list
                return
        else:
            result_list.append(a/(math.sqrt(dl)-b))
            fun(dl,b,a)
    else:
        result_list.append(a/(math.sqrt(dl)-b))
        fun(dl,b,a)      
 answer = 0
for i in range(2,10001):
    if math.sqrt(i) == int(math.sqrt(i)):
        continue
    #result_set = set()
    result_list = []
    x = i
    sqt_x = int(math.sqrt(i))
    #result_set.add(1/(math.sqrt(x)-sqt_x))
    result_list.append(1/(math.sqrt(x)-sqt_x))
    print 1/(math.sqrt(x)-sqt_x)
    fun(x,sqt_x,1)          

 

http://mathforum.org/library/drmath/view/66725.html