maxam
maxam

Reputation: 191

Lua integer won't increment

I have this simple lua function designed to solve the problem of consecutive prime sum. The prime 41, can be written as the sum of six consecutive primes:

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

This is the longest sum of consecutive primes that adds to a prime below one-hundred. this is my function:

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

But for some reason, sumSoFar just won't change. I'm printing it before and after the addition of a[pos] and it stays zero always. I'm printing a[pos] as you see and the values are fine. So what's going on?

Upvotes: 1

Views: 2121

Answers (1)

Joel Rondeau
Joel Rondeau

Reputation: 7586

If this is your exact code then you simply have a typo.

sumSofar = sumSoFar + a[pos]

Capitalize the f in the first sumSofar so it matches all the other ones.

Upvotes: 7

Related Questions