1644번 - 소수의 연속합
풀이 방법은 다음과 같습니다.
입력을 N이라는 변수에 받습니다.
12~41번 줄까지는 N 이하의 소수를 모두 구해서 curState배열에 저장을 합니다.
45~78번 줄까지는 연속하는 소수의 합을 구해서 N과 같으면 result을 증가 시킵니다.
예를 들어
N이 41일 때
curState 배열에는 {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41}이 저장 되어있습니다.
curState을 탐색하면서 연속하는 숫자의 합이 N (41)이 넘어가면 continue를 하고
그렇지 않고 연속하는 숫자의 합이 N과 같으면 result (정답 카운트)을 증가시킵니다.
접근 방법이 잘못된 건가요?
소수 판별을 할 때 2, 3, 5, 7로 나누어 떨어지지 않으면 소수로 체크하는 것 같은데,
121 같은 수는 2, 3, 5, 7로 나누어 떨어지지 않지만, 11*11로 소수가 아닙니다.
zlzmsrhak님 감사합니다.
생각을 다시 해야될 것 같습니다!!^^
댓글을 작성하려면 로그인해야 합니다.
new_face 7년 전
풀이 방법은 다음과 같습니다.
입력을 N이라는 변수에 받습니다.
12~41번 줄까지는 N 이하의 소수를 모두 구해서 curState배열에 저장을 합니다.
45~78번 줄까지는 연속하는 소수의 합을 구해서 N과 같으면 result을 증가 시킵니다.
예를 들어
N이 41일 때
curState 배열에는 {2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41}이 저장 되어있습니다.
curState을 탐색하면서 연속하는 숫자의 합이 N (41)이 넘어가면 continue를 하고
그렇지 않고 연속하는 숫자의 합이 N과 같으면 result (정답 카운트)을 증가시킵니다.
접근 방법이 잘못된 건가요?