Programming/Problem Solving

Project Euler Problem 6-10

자연상수 2022. 5. 17. 09:04

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