From 8e431d287c0e89041506da4c4da57e3e3d657d72 Mon Sep 17 00:00:00 2001 From: mjfernez Date: Mon, 3 Feb 2020 23:04:10 -0500 Subject: cleanup, added c translations for some --- largestprime.py.orig | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 largestprime.py.orig (limited to 'largestprime.py.orig') diff --git a/largestprime.py.orig b/largestprime.py.orig new file mode 100644 index 0000000..fa39904 --- /dev/null +++ b/largestprime.py.orig @@ -0,0 +1,55 @@ +import PIL, math +import numpy as np +#Problem 3 Largest Prime Factor + +###INEFFICIENT METHODS### +#def isPrime(number): +# if (number <=1): +# return False +# for i in range(2,number): +# if(number%i==0): +# return False +# return True + +#def prime_factors(number): + #primes = [] + #for i in range(number, 2, -1): + #if(number%i==0): + #if (isPrime(i)): + #return i + #return primes + + + +def prime_factors(number): + primes = [] + if (number <=1): + return [1] + a = np.ones(number) + a[0]=0 + a[1]=0#not prime + for i in range(2,int(math.ceil(math.sqrt(number)))): + if(a[i]==1): + j = i**2 #cross out all the multiples + while(j < number): + a[j] = False + j+=i + + for k in range(2, number): + #is prime is a factor + if(a[k]==1) and (number%k==0): + primes.append(k) + return primes + +def lpf(number): + factor = 2 + while (number > factor): + if(number % factor == 0): + number = number/factor + factor = 2 + else: + factor +=1 + return factor + +out = lpf(600851475143) +print out -- cgit v1.2.3