Algorithm/Project Euler 3

210729_[Project Euler]_8(△)_python

문제 8. 1000자리 수 안에서 연속된 13개 숫자 곱의 최댓값 연속한 5개 숫자의 곱 중에서 가장 큰 값은 40824 입니다. 1000자리 수에서 연속한 13개 숫자의 곱이 가장 큰 값은? str = '''73167176531330624919225119674426574742355349194934 96983520312774506326239578318016984801869478851843 85861560789112949495459501737958331952853208805511 12540698747158523863050715693290963295227443043557 66896648950445244523161731856403098711121722383113 62229893423380308135336276..

210727_[Project Euler]_7_python

문제 7. 10001번째의 소수 소수를 크기 순으로 나열하면 2, 3, 5, 7, 11, 13, ... 과 같이 됩니다. 이 때 10,001번째의 소수를 구하세요. # is_prime은 백준 4948번 긁어옴 def is_prime(num): if num == 1: return False else: for i in range(2, int(num**0.5)+1): if num % i == 0: return False return True prime = [] n = 2 while len(prime) < 10001: if is_prime(n) == True: prime.append(n) n = n + 1 else: n = n + 1 print(prime[-1]) # 104743

210703_[Project Euler]_6_python

문제 6. 1부터 100까지 '제곱의 합'과 '합의 제곱'의 차는? 1부터 10까지 자연수에 대해 "합의 제곱"과 "제곱의 합" 의 차이는 3025 - 385 = 2640 이 됩니다. 그러면 1부터 100까지 자연수에 대해 "합의 제곱"과 "제곱의 합"의 차이는 얼마입니까? cnt_sq = 1 sum_sq = 0 while cnt_sq < 101: sum_sq = sum_sq + cnt_sq**2 cnt_sq += 1 # print(sum_sq) # 제곱의 합 cnt = 1 sum = 0 while cnt < 101: sum = sum + cnt cnt += 1 # print(sum**2) # 합의 제곱 print(sum**2 - sum_sq)