Introdução
Vamos observar a seguinte sequência (números inteiros não negativos):
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, ...
Por exemplo, vamos pegar os três primeiros números. Estes são 0, 1, 2
. Os números usados nesta sequência podem ser ordenados de seis maneiras diferentes:
012 120
021 201
102 210
Então, digamos que F (3) = 6 . Outro exemplo é F (12) . Este contém os números:
0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11
Ou a versão concatenada:
01234567891011
Para encontrar o número de maneiras de reorganizar isso, primeiro precisamos examinar o comprimento dessa string. O comprimento dessa string é 14
. Então calculamos 14! . No entanto, por exemplo, eles podem trocar de lugar sem interromper a sequência final. Existem 2 zeros, então existem 2! maneiras de trocar os zeros sem interromper o pedido. Existem também 4, então existem 4! maneiras de mudar esses. Dividimos o total por estes dois números:
Isso tem 14! / (4! × 2!) = 1816214400 maneiras de organizar a sequência 01234567891011
. Portanto, podemos concluir que F (12) = 1816214400 .
A tarefa
Dado N , saída F (N) . Para aqueles que não precisam da introdução. Para calcular F (N), primeiro concatenamos os primeiros N números inteiros não negativos (por exemplo, para N = 12, a sequência concatenada seria 01234567891011
) e calculamos o número de maneiras de organizar essa sequência.
Casos de teste
Input: Output:
0 1
1 1
2 2
3 6
4 24
5 120
6 720
7 5040
8 40320
9 362880
10 3628800
11 119750400
12 1816214400
13 43589145600
14 1111523212800
15 30169915776000
Nota
O cálculo da resposta deve ser calculado dentro de um prazo de 10 segundos ; a força bruta é proibida .
Isso é código-golfe , então a submissão com a menor quantidade de bytes ganha!
10
dígitos são 0, 1, 2, 3, 4, 5, 6, 7, 8, 9
. Dez dígitos diferentes, então o resultado é 10 !.
0
caso estava jogando fora minha conta (estúpidas cordas vazias).
F(N)
não é O(N!)
e que log F(N)
é O(log N!)
, mas esses são apenas palpites ...
10
correta? Parece que deve ser menor que 10 !, pois é aí que os dígitos repetidos começam.