[BOJ, Python] 1644 - 소수의 연속합 ( with 에라토스테네스의 체, 투 포인터 )
·
PS (Problem Solving)
1644번: 소수의 연속합 첫째 줄에 자연수 N이 주어진다. (1 ≤ N ≤ 4,000,000) www.acmicpc.net 자연수 N이 주어졌을 때, N보다 작은 연속하는 소수들의 합이 N과 같을 경우의 수를 구하는 문제이다. N의 최댓값이 4,000,000이므로, 소수 판별에 있어서는 에라토스테네스의 체를, 연속합은 투 포인터 알고리즘을 통해 시간복잡도 O(n)으로 구현하였다. N = int(input()) # 예외 처리 if N == 1: print(0) exit(0) # 소수 판별 by 에라토스테네스의 체 sosu = [True for _ in range(N + 1)] number = list() for i in range(2, N + 1): if sosu[i]: for j in range(i, ..