diff --git a/Project_Euler/Problem_3.py b/Project_Euler/Problem_3.py index edf5429..8c2dff2 100755 --- a/Project_Euler/Problem_3.py +++ b/Project_Euler/Problem_3.py @@ -1,18 +1,11 @@ -val = 600851475143 -i = int(val ** .5) - - -def normal_prime(num): - if(num == 1):return 0 - if(num < 3 ):return 1 - if(num % 2 == 0 ):return 0 - for i in xrange(3,int(num ** 0.5)+1,2): - if(num % i == 0):return 0 - return 1 - -while (i > 0): - - if(val % i == 0): - if(normal_prime(i) == 1): - print i - i -= 1 \ No newline at end of file +n = 600851475143 +i=2 +while i*i < n: + if n % i == 0: + while n%i == 0: + n//=i + i+=1 +if n%i == 0: + print(i) +else: + print(n) diff --git a/Project_Euler/Problem_7.py b/Project_Euler/Problem_7.py index b7ab445..bda6624 100755 --- a/Project_Euler/Problem_7.py +++ b/Project_Euler/Problem_7.py @@ -1,16 +1,16 @@ -import math -def prime(n): - for i in range(2, int(math.sqrt(n)) + 1 ): - if (n % i == 0): return False - return True - -num = 10001 -i = 2 -ans = 0 -while (num != 0): - if(prime(i) == True): - ans = i - num -= 1 - i += 1 -print ans - \ No newline at end of file +n = 1 +primes = [2] +num = 3 +while n < 10001: + flag = True + for prime in primes: + if prime*prime > num: + break + if num % prime == 0: + flag=False + break + if flag: + n+=1 + primes.append(num) + num += 2 +print (primes[-1])