정수의 파티션 수는 정수가 양의 정수의 합으로 표현 될 수있는 방법의 수입니다.
예를 들면 다음과 같습니다.
5
4 + 1
3 + 2
3 + 1 + 1
2 + 2 + 1
2 + 1 + 1 + 1
1 + 1 + 1 + 1 + 1
숫자 5를 나타내는 7 가지 방법이 있으므로 7은 숫자 5에 해당하는 파티션 번호입니다.
지도
양의 정수를 입력으로 받아 두 개의 가장 가까운 파티션 번호를 생성 하는 두 개의 숫자를 입력 번호로 출력하는 프로그램을 작성하십시오 .
- 입력은 양의 정수 여야합니다.
- 입력 이 파티션 번호 가 아닌 경우 출력은 입력 번호와 가장 가까운 2 개의 파티션 번호를 생성하는 2 개의 다른 양의 정수 여야합니다. (두 개의 파티션 번호가 출력 번호 중 하나에 대해 동일한 후보 인 경우 어떤 것을 선택하든 상관 없습니다.)
- 입력 이 파티션 번호 인 경우 출력은 입력 번호를 생성하는 양의 정수 여야합니다.
- 입력과 출력은 합리적인 형식 일 수 있습니다.
- 입력이 1 억보다 크지 않다고 가정 할 수 있습니다 (예 : 출력이 95보다 크지 않음).
- 파티션 번호를 계산하는 내장 함수 는 다른 표준 허점 과 함께 사용할 수 없습니다 .
- 이것은 code-golf 이므로 바이트 수가 가장 적습니다.
예
Input: 66
Output: 11, 12
숫자 11과 12에 해당하는 파티션 번호는 56과 77이며 66과 가장 가까운 두 개의 파티션 번호입니다.
Input: 42
Output: 10
42는 이미 파티션 번호이므로 파티션 번호에 해당하는 번호 만 출력하면됩니다.
Input: 136
Output: 13, 14
(136에 가장 가까운 두 개의 파티션 번호는 실제로 136보다 두 개의 LESS이므로 (예 : 101 및 135), 14 및 15와 반대로 출력은 13 및 14입니다.)
Input: 1
Output: 0 or 1
(이 특별한 경우 0과 1은 모두 유효한 출력입니다.)
Input: 2484
Output: 26, 25 or 26, 27
(D 2,484 동일하기 때문에 이들 모두의 출력은 유효한 난 자세 1958 및 3010에서)
Input: 4
Output: 3, 4
(예)
파티션 번호가 무엇인지 정의하지 않았습니다
—
자랑스러운 Haskeller
@proudhaskeller 파티션 번호는 OEIS 시퀀스에 연결된 번호입니다. 파티션 번호가 무엇인지에 대한 설명
—
kukac67
5
이 맨 위에 있습니다. (당신은 분명히 충분하지 생각한다면 나는 설명을 추가합니다.)
이것은 이 초기 파티션 질문 의 속임수에 매우 가깝 습니다 .
—
피터 테일러