https://projecteuler.net/problem=7
import time
import math
time_start = time.time()
def prime_check(n):
if n==2:
return True
for i in range(2, math.floor(math.sqrt(n))+1):
if n%i==0:
return False
return True
prime_list = []
n = 2
while (len(prime_list)<10001):
if prime_check(n):
prime_list.append(n)
n+=1
time_end = time.time()
print(prime_list[10000])
print(time_end-time_start)
# 104743
https://projecteuler.net/problem=10
import time
import math
time_start = time.time()
def prime_check(n):
if n==2:
return True
for i in range(2, math.floor(math.sqrt(n))+1):
if n%i==0:
return False
return True
n = 2
sum = 0
while (n<2000000):
if prime_check(n):
sum+=n
n+=1
print(sum)
time_end = time.time()
print(time_end-time_start)
# 142913828922
# 7초 나옴 개선필요
'Programming > Problem Solving' 카테고리의 다른 글
Project Euler Problem 1-5 (0) | 2022.05.16 |
---|