For my extra credit, I'm supposed to generate the longest chain from 1-1000000, I wan't to know if it is correct..here is my code:
the caller

start = 1
            end = 1000000
            longest, chain = -1, -1
            #choiceX(start)
            for i in range((end-start)+1):
                if choiceX(start) > longest:
                    longest=start
                    chain=choiceX(start)
                start+=1
            print longest, "had the longest chain", chain

and the function

def choiceX( start ):
    number = start
    length = 1
    
    while number != 1:
        if number % 2 == 0:
            number /= 2
        else:
            number = (number*3) + 1
        length += 1

    return length

my output was "35655 had the longest chain 324"

Took around 1 min to generate

Recommended Answers

All 3 Replies

For my extra credit, I'm supposed to generate the longest chain from 1-1000000, I wan't to know if it is correct..here is my code:
the caller

start = 1
            end = 1000000
            longest, chain = -1, -1
            #choiceX(start)
            for i in range((end-start)+1):
                if choiceX(start) > longest:
                    longest=start
                    chain=choiceX(start)
                start+=1
            print longest, "had the longest chain", chain

and the function

def choiceX( start ):
    number = start
    length = 1
    
    while number != 1:
        if number % 2 == 0:
            number /= 2
        else:
            number = (number*3) + 1
        length += 1

    return length

my output was "35655 had the longest chain 324"

Took around 1 min to generate

I think it's correct.

It looks like its correct. :)

sweet thanks :)

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.