Реализации алгоритмов/Числа Эйлера первого рода: различия между версиями

Использован {{BookCat}}; пробелы; →‎К переименованию: снят шаблон после переименования.
(Использован {{BookCat}}; пробелы; →‎К переименованию: снят шаблон после переименования.)
{{К переименованию |2014-11-21|Реализации алгоритмов/Числа Эйлера первого рода}}
 
== [[w:en:PARI/GP|PARI/GP]] ==
<source lang="text">
\\ рекуррентная формула
{ E(n, k) =
if(k<1 || k>n, 0,
if(n==1, 1, k*E(n-1,k) + (n-k+1)*E(n-1,k-1) );
)
}
 
\\ явная формула
{ E(n, k) = sum(j=0, k, (-1)^j * (k-j)^n * binomial(n+1,j) ) }
def table(f, n):
return [[f(i, j) for j in range(n)] for i in range(n)]
 
def format(table):
return "\n".join([" ".join(["%6s" % col for col in row]) for row in table])
return sum([binomial(n+1, j) * (-1)**j * (k-j)**n for j in range(k)])
 
# демонстрация работы
print(format(table(euler_rec, 10)))
print(format(table(euler_iter, 10)))
</source>
 
{{BookCat}}
[[Категория:Программирование]]
3890

правок