파이썬

[Project Euler]7. 10001st prime

김초개 2021. 5. 27. 16:50

[문제]
By listing the first six prime numbers: 2, 3, 5, 7, 11, and 13, we can see that the 6th prime is 13.

What is the 10 001st prime number?

 

[풀이]
def find_primeNumber(n):
    if n==1:
        result = 2
    else:
        num = 4
        count = 2
        result = 3
        while count<n:
            for i in range(2, num):
                if num%i==0:
                    num+=1
                    break
                if i==num-1:
                    result = num
                    num+=1
                    count+=1
                    
    return result

print(find_primeNumber(10001))

 

'''
지난번에 만들어놓은 소수 함수를 재활용하려 했으나...
굉장히 비효율적인지 수가 커지면 값이 안나온다...

그래서 일단 최대한 걷어내서 만들어봤다

효율적인 알고리즘은.. 늘 어렵군

얘도 나중에 새로운 아이디어가 떠오르면 수정해봐야겠다!
'''