Triângulo de Pascal: diferenças entre revisões

Conteúdo apagado Conteúdo adicionado
infimito por finito
Lrdass (discussão | contribs)
a formula recursiva estava incorreta; adicionei códigos python3 para execução do algoritmo recursivo corrigido e uma versão matricial.
Linha 28:
| '''6''' || 1 || || || || || ||
|}
Ele define os números no triângulo por [[recursão]]: Chame o número na (m+1)-ésima linha e na (n+1)-ésima coluna por t<sub>mn</sub>. Então t<sub>mn</sub> = t<sub>m-1,n-1</sub> + t<sub>m,n-1,n</sub>, para m = 0, 1, 2... e n = 0, 1, 2... As condições de contorno são t<sub>m, −1</sub> = 0, t<sub>−1, n</sub> para m = 1, 2, 3... e n = 1, 2, 3... O gerador t<sub>00</sub> = 1. Pascal conclui com a prova,
:<math>t_{mn} = \frac{(m+n)(m+n-1)...(m+1)}{n(n-1)...1}.\ </math>
 
Linha 139:
 
==Algoritmos==
'''Python (recursivo)'''<syntaxhighlight lang="python3" line="1">
def pascal_t(m,n):
if m == 0 and n ==0:
return 1
elif n == -1 or m == -1:
return 0
else:
return pascal_t(m-1, n-1) + pascal_t(m-1,n)
 
</syntaxhighlight>'''Python'''<syntaxhighlight lang="python3" line="1">
def pascal_tri(lines):
t= [[0 for i in range(lines)] for i in range(lines)]
for n in range(lines):
for k in range(lines):
if n == 0 and k == 0:
t[n][k] = 1
elif n > -1 and k > -1:
t[n][k] = t[n-1][k-1] + t[n-1][k]
return t
</syntaxhighlight>
 
====Java====
<syntaxhighlight lang="java">