Project euler no. 3

Kee Nethery kee at kagi.com
Sat Sep 12 12:15:58 EDT 2009


in checkPrime what do you return when "x" is less than 2?

On Sep 12, 2009, at 8:46 AM, Someone Something wrote:

> But, I'm returning true or false right?
>
> On Sat, Sep 12, 2009 at 11:32 AM, MRAB <python at mrabarnett.plus.com>  
> wrote:
> Someone Something wrote:
> Project euler (in case you don't know: projecteuler.net <http://projecteuler.net 
> >)
>
>
> I'm trying to do the third one and here's my current code:
>
>  1 def checkPrime (x):
>  2     factors=2;
>  3     while factors<=x:
>  4         if x==factors:
>  5             return True;
>  6         elif x%factors==0:
>  7             return False;
>  8         elif x%factors!=0:
>  9             factors=factors+1;
>
> You're not returning 'factors', so the function will return None.
>
>
>  10
>  11 factorl=[];
>  12 factors=600851475142;
>  13
>  14 while factors != 1:
>  15     if 600851475143%factors==0:
>  16         if checkPrime(factors)==True:
>  17             print factors;
>  18         else:
>  19             factors=factors-1;
>  20
>  21     else:
>  22         factors=factors-1;
>  23
>
> And it just gets frozen when I run it. I put a
>
> print "Loop completed"
>
> in one of the loops and it showed up just fine. So, there are two  
> possibilities:
> 1. Its looping in the trillions and taking a while
> 2. I have a forever loop somewhere
>
>
> -- 
> http://mail.python.org/mailman/listinfo/python-list
>
> -- 
> http://mail.python.org/mailman/listinfo/python-list




-------------------------------------------------
I check email roughly 2 to 3 times per business day.
Kagi main office: +1 (510) 550-1336





More information about the Python-list mailing list