우리는 를 x에 합한 2 의 고유 한 힘의 목록으로 정의 합니다. 예를 들어, V ( 35 ) = [ 32 , 2 , 1 ] 입니다.
일반적으로, 권력은 여기에서 최고에서 최저로 분류됩니다. 그러나 도전의 논리 나 예상 솔루션에는 영향을 미치지 않습니다.
직무
semiprime 주어지면 모든 결과 하위 목록의 합집합이 다음과 같이 정의 된 행렬 M 의 정확한 범위가되도록 V ( N )의 각 항 을이 항에 합산되는 다른 2 의 거듭 제곱 목록으로 바꿉니다 .
여기서 와 는 의 주요 요소입니다 .
일부 예제에서는 이해하기가 훨씬 쉽습니다.
실시 예 # 1
를 들어 , 우리는이 :
- 및
- 및
해제하려면 정확한 커버로 , 우리는 분할 수 에 과 에 동안 그대로 남겨진다. 가능한 결과는 다음과 같습니다.M 16 8 + 4 + 4 4 2 + 2 1
다른 유효한 결과는 다음과 같습니다.
실시 예 # 2
를 들어 , 우리는이 :
- 및
- 및
가능한 출력은 다음과 같습니다.
규칙
- 인수 분해하는 것이 문제의 주요 부분이 아니므로 와 를 교대 로 입력으로 사용할 수 있습니다.
- 몇 가지 가능한 솔루션이 존재하면 그 중 하나 또는 전부를 반환 할 수 있습니다.
- 거듭 제곱의 지수를 교대로 반환 할 수 있습니다 (예 : 대신 ).
- 하위 목록의 순서는 중요하지 않으며 각 하위 목록의 용어 순서도 중요하지 않습니다.
- 일부 세미 프라임 의 경우 이미 의 완벽한 커버 이기 때문에 어떤 용어도 나눌 필요가 없습니다 ( A235040 참조 ). 그러나 대해 과 같은 (단일) 목록의 목록을 반환해야합니다 .M [ [ 8 ] , [ 4 ] , [ 2 ] , [ 1 ] ] N = 15
- 이것은 코드 골프입니다 !
테스트 사례
Input | Possible output
-------+-----------------------------------------------------------------------------
9 | [ [ 4, 2, 2 ], [ 1 ] ]
15 | [ [ 8 ], [ 4 ], [ 2 ], [ 1 ] ]
21 | [ [ 8, 4, 4 ], [ 2, 2 ], [ 1 ] ]
51 | [ [ 32 ], [ 16 ], [ 2 ], [ 1 ] ]
129 | [ [ 64, 32, 16, 8, 4, 2, 2 ], [ 1 ] ]
159 | [ [ 64, 32, 32 ], [ 16 ], [ 8 ], [ 4 ], [ 2 ], [ 1 ] ]
161 | [ [ 64, 32, 16, 16 ], [ 8, 8, 4, 4, 4, 2, 2 ], [ 1 ] ]
201 | [ [ 128 ], [ 64 ], [ 4, 2, 2 ], [ 1 ] ]
403 | [ [ 128, 64, 64 ], [ 32, 32, 16, 16, 16, 8, 8 ], [ 8, 4, 4 ], [ 2 ], [ 1 ] ]
851 | [ [ 512 ], [ 128, 64, 64 ], [ 32, 16, 16 ], [ 8, 4, 4 ], [ 2 ], [ 1 ] ]
2307 | [ [ 1024, 512, 512 ], [ 256 ], [ 2 ], [ 1 ] ]