Dado um número natural, n
escreva um programa ou função para obter uma lista de todas as possíveis multiplicações de dois fatores que podem ser usadas para obter n
. Para entender melhor o que se pretende você pode ir para http://factornumber.com/?page=16777216 para ver quando n
é 16777216
que recebo a seguinte lista:
2 × 8388608
4 × 4194304
8 × 2097152
16 × 1048576
32 × 524288
64 × 262144
128 × 131072
256 × 65536
512 × 32768
1024 × 16384
2048 × 8192
4096 × 4096
Não há necessidade de imprimir coisas bonitas como aqui. O requisito é que cada entrada (par de fatores) seja bem distinta uma da outra e, dentro de cada par, o primeiro fator também seja bem distinto da outra. Se você optar por retornar uma lista / matriz, o elemento interno poderá ser uma lista / matriz com dois elementos ou alguma estrutura da sua linguagem que suporte um par de coisas como C ++ std::pair
.
Não imprima a multiplicação por 1 entrada, nem repita as entradas com o primeiro fator comutado pela segunda, pois elas são bastante inúteis.
Nenhum vencedor; será um código de idioma por idioma.
30
?