Sage:整数的除数之和

时间:2014-08-06 04:20:05

标签: sage

我想使用sage来计算以下总和:

(D-b ^ 2)/ 4的除数之和,其中b是满足的整数; b的绝对值小于D,b等于D modulo 2.

这就是我的尝试:

def bqfs(d):
answer=[]
for b in range (sqrt(d)):
    c=(d-b^2)/4
if c.is_integral():
        answer.extend(sum(sigma(c))
return answer

我收到无效的语法错误消息。

1 个答案:

答案 0 :(得分:1)

目前,您的语法确实无效。 Python(Sage基于它构建)indentation as syntax

这有效:

def bqfs(d):
    answer = []
    for b in range(sqrt(d)):
        c = (d-b^2)/4
        if c.is_integral():
            answer.extend(sum(sigma(c)))
    return answer

但它没有意义,也没有用,因为sigma(c)已经是c的除数之和,你不能求和一个整数一个人;你需要一个清单。

如果你刚刚answer.extend(sigma(c))做了什么,会给你一个有问题的总和清单? (我没有看到你试图检查模数条件,但是你想要逐步建立代码是正确的,所以这没问题。)