Ask your own question, for FREE!
MIT 6.00 Intro Computer Science (OCW) 23 Online
OpenStudy (anonymous):

I wrote code to calculate the 1000th prime number: http://dpaste.com/hold/640512/ . It works, but upon reviewing, I realized I do not know why. Specifically, the function that's determines prime-ness at line 20 is not in the "while loop" (lines 23-29). What is causing or commanding "x + 2" in lines 25 or 29 to be fed back into the function at line 20? It also works if I put the function in after line 29 as a recursion http://dpaste.com/hold/640514/ . Would appreciate if someone could explain the mechanics of what's going on. Thanks a lot. I wrote code to calculate the 1000th prime number: http://dpaste.com/hold/640512/ . It works, but upon reviewing, I realized I do not know why. Specifically, the function that's determines prime-ness at line 20 is not in the "while loop" (lines 23-29). What is causing or commanding "x + 2" in lines 25 or 29 to be fed back into the function at line 20? It also works if I put the function in after line 29 as a recursion http://dpaste.com/hold/640514/ . Would appreciate if someone could explain the mechanics of what's going on. Thanks a lot. @MIT 6.00 Intro Co…

OpenStudy (anonymous):

your prime test function is in the while loop on line 24 and 26. As for what causes your function to iterate, it is because you are using a while loop which will do whatever is in it while a condition is or is not met... does that make sense?

OpenStudy (anonymous):

Yeah, that does make sense, thanks a lot. I was thinking about lines 24 and 26 as checking the result of 20, but now I see what's going on.

OpenStudy (anonymous):

Further in view of this explanation, I see that the function at line 20 is superfluous, since all the action is taking place in the while loop. I deleted line 20 and it returns the correct answer.

Can't find your answer? Make a FREE account and ask your own questions, OR help others and earn volunteer hours!

Join our real-time social learning platform and learn together with your friends!
Can't find your answer? Make a FREE account and ask your own questions, OR help others and earn volunteer hours!

Join our real-time social learning platform and learn together with your friends!