Definimos como a lista de potências distintas de que somam . Por exemplo, .2 x V ( 35 ) = [ 32 , 2 , 1 ]
Por convenção, os poderes são classificados aqui do mais alto para o mais baixo. Mas isso não afeta a lógica do desafio, nem as soluções esperadas.
Tarefa
Dado um semiprime , substitua cada termo em por outra lista de potências de que somarem a esse termo, de modo que a união de todas as sub-listas resultantes seja uma cobertura exata da matriz definida como:V ( N ) 2 M
onde e são os factores primários de .Q
Isso é muito mais fácil de entender com alguns exemplos.
Exemplo 1
Para , temos:
- e
- e
Para transformar em uma cobertura exata de , podemos dividir em e em , enquanto permanece inalterado. Portanto, uma saída possível é:M 16 8 + 4 + 4 4 2 + 2 1
Outra saída válida é:
Exemplo 2
Para , temos:
- e
- e
Uma saída possível é:
Regras
- Como fatorar não é a parte principal do desafio, você pode considerar e como entrada.P Q
- Quando existem várias soluções possíveis, você pode retornar apenas uma delas ou todas elas.
- Você pode retornar alternadamente os expoentes dos poderes (por exemplo, vez de ).[ [ 8 , 4 , 4 ] , [ 2 , 2 ] , [ 1 ] ]
- A ordem das sub-listas não importa, nem a ordem dos termos em cada sub-lista.
- Para alguns semiprimes, você não precisará dividir nenhum termo porque já é uma cobertura perfeita de (consulte A235040 ). Mas você ainda precisa retornar uma lista de listas (singleton) como para .M [ [ 8 ] , [ 4 ] , [ 2 ] , [ 1 ] ] N = 15
- Isso é código-golfe !
Casos de teste
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 ] ]