Project euler no. 3

MRAB python at mrabarnett.plus.com
Sat Sep 12 11:32:02 EDT 2009


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
> 




More information about the Python-list mailing list