On Mon, Nov 29, 2010 at 6:57 AM, Mary <[email protected]> wrote: > Dear Tutors: > > Thank you for your time.I am trying to do first assignment (ps1a+b) onMIT > open study, finding the 1000th prime in part a and doing something with > import.math and logs in part b, but I'm not there yet. The little build i > did to find primes does fine until, for some reason, 95 shows up, and later > other multiples of 5 jump into the mix without being invited.I end up almost > 200 primes off by the 1000 count. Is it me? Have uninstalled and reinstalled > 2.7 twice. Here is code:
Your primality tester is incorrect. When you find a divisor you go on to check the number that is 2 more, but you start with the same divisor. If the new number you check is not a prime number, but only has divisors smaller than the checked divisor, your program will falsely recognize it as prime. To make it more clear what I mean, I will show how your program finds 95 to be prime: 89 was a prime, and next the program checks 91. 91 is not divisible by 2. 91 is not divisible by 3. 91 is not divisible by 4. 91 is not divisible by 5. 91 is not divisible by 6. 91 is divisible by 7 - not prime! check 93 instead 93 is not divisible by 7. 93 is not divisible by 8. ... 93 is not divisible by 30. 93 is divisible by 31 - not prime! check 95 instead 95 is not divisible by 31. ... 95 is not divisible by 90. Checked all numbers smaller than 91, so 95 is prime. -- André Engels, [email protected] _______________________________________________ Tutor maillist - [email protected] To unsubscribe or change subscription options: http://mail.python.org/mailman/listinfo/tutor
