고합성 순열
면접 대비시간 제한2초메모리 제한512 MB
1부터 n까지의 수를 한 번씩 써서 모든 앞부분 합이 합성수가 되는 순열을 찾고, 없으면 -1을 출력한다.
문제
양의 정수 가 합성수라는 것은 의 양의 약수가 2개보다 많다는 뜻이다. 예를 들어 4, 30, 111은 합성수이고, 1, 7, 239는 아니다.
정수 수열 이 길이 의 순열이라는 것은 1부터 까지의 모든 정수를 정확히 한 번씩 포함한다는 뜻이다.
순열 이 고합성이라는 것은 1부터 까지의 모든 에 대해 의 처음 개 원소의 합, 즉 가 합성수라는 뜻이다.
정수 이 주어졌을 때, 길이 의 고합성 순열을 찾아라.
입력
입력은 한 줄로 이루어지며, 정수 이 하나 주어진다. ()
출력
길이 의 고합성 순열이 존재하지 않으면 정수 을 출력한다. 그렇지 않으면 이 고합성 순열이 되는 개의 정수 을 출력한다.
길이 의 고합성 순열이 여러 개라면 그중 아무거나 출력해도 된다.
힌트
첫 번째 예제에서 순열의 첫 원소 9는 합성수이고, 처음 두 원소의 합 는 합성수이며, 처음 세 원소의 합 도 합성수이고, 이런 식으로 계속된다.
두 번째 예제에서는 길이가 2인 순열이 와 두 개뿐인데, 둘 다 고합성 순열이 아니다.