Lua整数不会递增

时间:2013-08-19 16:49:49

标签: lua

我有这个简单的lua函数,旨在解决连续素数和的问题。 素数41可以写成六个连续素数的总和:

  

41 = 2 + 3 + 5 + 7 + 11 + 13

这是连续素数的最长总和,它增加到低于一百的素数。 这是我的功能:

function numOfConsecPrimes(limit)

    a = allPrimes(limit/2)
    length = table.getn(a)
    sumSoFar = 0    innerSum = 0    finalSum = 0
    pos = 1
    items = 0       innerItems = 0  finalItems = 0
    resetpos = pos

    while resetpos < length do
    pos = resetpos
    resetpos = resetpos + 1
    items = 0
    sumSoFar = 0    
        while sumSoFar < limit and pos < length do
            if isPrime(sumSoFar) == true then innerSum = sumSoFar innerItems = items end
            print(sumSoFar)
            sumSofar = sumSoFar + a[pos]
            print(a[pos] .."->"..sumSoFar)
            pos = pos + 1
            items = items + 1
        end
    if innerItems > finalItems then finalItems = innerItems finalSum = innerSum  end
    end
end

但出于某种原因,sumSoFar不会改变。我在添加a[pos]之前和之后打印它,它始终保持为零。我正如你所见打印a[pos]并且值很好。那是怎么回事?

1 个答案:

答案 0 :(得分:7)

如果这是您的确切代码,那么您只会输入错字。

sumSofar = sumSoFar + a[pos]

将第一个f中的sumSofar大写,以便与其他所有内容匹配。