Crie um triângulo de Pascal que seja uma lista aninhada e contenha zeros nos pontos não utilizados.
Na matriz de saída, os números do Triângulo de Pascal são separados por zeros e preenchidos por zeros em cada lado, para que sejam centralizados. Por exemplo, a linha inferior (última sub-matriz) não deve ter zeros à esquerda e à direita; o segundo e último sub-array possui um preenchimento zero em cada lado e assim por diante.
Aqui está a saída para entrada 5
:
[[0,0,0,0,1,0,0,0,0],
[0,0,0,1,0,1,0,0,0],
[0,0,1,0,2,0,1,0,0],
[0,1,0,3,0,3,0,1,0],
[1,0,4,0,6,0,4,0,1]]
Como sempre, a solução com o menor número de bytes vence.
print("def pascal(n):\n #make the nested list\n a=[[0 for i in range(2*n+1)] for j in range(n+1)] #make the list\n a[0][n]=1 #add the initial 1\n for i in range(1,n+1):\n for j in range(2*n+1):\n a[i][j]=a[i-1][j-1]+a[i-1][(j+1)%(2*n+1)] #the main part\n return a")
Respostas:
Mathematica,
7068 bytesSemelhante à solução MATL.
fonte
Mathematica, 48 bytes
CellularAutomation
é fantástico.fonte
Gelatina, 12 bytes
Experimente aqui.
Explicação
fonte
Haskell, 66 bytes
Exemplo de uso:
q 4
->[[0,0,0,1,0,0,0],[0,0,1,0,1,0,0],[0,1,0,2,0,1,0],[1,0,3,0,3,0,1]]
.Como funciona:
fonte
Python 3,
172158133 bytesContinua melhorando
fonte
MATL ,
242221 bytesEDIT (20 de maio de 2016): a partir da versão 18.0.0 do idioma, o código acima precisa de algumas alterações para ser executado. O link abaixo inclui essas modificações
Experimente online!
Isso usa um loop para enviar cada nova linha para a pilha. Uma nova linha é calculada a partir da linha anterior, aplicando convolução com
[1,0,1]
e mantendo apenas o tamanho desejado. Após o loop, todas as linhas são concatenadas em uma matriz 2D, que é exibida. A matriz 2D é exibida em MATL como tabelas numéricas alinhadas à coluna.fonte
Javascript,
152146 bytesMostrar snippet de código
fonte
Sério, 33 bytes
Experimente online
Estou relativamente certo de que pelo menos 7 desses bytes podem ser removidos, por isso vou esperar para postar uma explicação até terminar de jogar ainda mais.
fonte
PHP , 106 bytes
Experimente online!
fonte