Com aquele código calculamos a função 

 para alguns valores de n com k = 3.
Que deveria ser a probabilidade de encontrarmos a sequência de dígitos "123" em uma série de n dígitos obtidos aleatoriamente.
Achamos que esta probabilidade deveria tender para 1 quando n tende para infinito (para qualquer valor de k).
E de fato 

 se mostrou crescente no intervalo pesquisado. E evidentemente 

 não pode ser jamais maior que 1, porque p(n, k) retorna um número de séries que existem em um subconjunto das 

 possíveis. 
Ou seja,

 para qualquer n.
Logo  esperamos que 

Com p'(n, k) 
(p linha) sendo o somatório de todas as séries que foram computadas redundantemente no cálculo de 

Por isso p'(n, k) é subtraído de 

 para encontrarmos o número total de séries onde ocorre "123" ao menos uma vez.
Mas ao examinar este limite pensei: "Ops, devo ter feito alguma coisa errada..."
Porque

Como no limite

apenas n não é constante, evidentemente este limite tende para infinito. O que obrigaria (para dar um!) o limite 

 também tender para infinito.
O que parece ser contra-intuitivo porque para isso o número de séries "contabilizadas" redundantemente deve tender para ser 
INFINITAMENTE maior que o próprio número 
TOTAL de SÉRIES POSSÍVEIS!Mas pode ser isto mesmo porque percebo que a mesma série é computada redundantemente muitas e muitas vezes e quanto maior o valor de n, mais redundâncias estarão presentes no cálculo de 

É curioso também perceber a relação entre os limites

   e   

Porque no infinito a diferença entre estes limites tenderia a ser 
exatamente e apenas igual a 1. Que incrível coisa é a matemática!
Tentei fazer umas investigações com aquele método p(), mas embora na minha máquina obtenha até p(40) em 1 segundo, para n maior que 50 o tempo de processamento começa a se tornar excessivamente longo.
Mas dá para fazer umas poucas alterações simples no método e ele fica realmente rápido. Na verdade consegui agora calcular até P(308) em 0 segundos.
Em n = 308 a função 

 dá 0.041823610544973765
Uau! Falta muito para infinito. Falta muito até para chegar a 1...   

Mas para passar de 308 em Java agora o tempo de processamento não é mais impedimento, mas sim o fato de que para n > 308 vai estourar a capacidade de representação de valores em ponto flutuante no tipo double.
No entanto, apesar de estranho à primeira vista,

deve se verificar.
O que acha?