Für große Zahlen bietet es sich an, Berechnungen mit Lua zu machen (setzt natürlich die **die Verwendung von `lualatex` `lualatex`** voraus):
\documentclass[margin=30mm]{standalone}
%\documentclass{article}
\usepackage{amsmath}
\usepackage{tikz}
% \usetikzlibrary{positioning}
\usepackage{luacode}
\begin{luacode}
function factorial (n)
if (n == 0) then
return 1
else
return n*factorial(n-1)
end
end
function binomial (n,k)
return factorial(n)/(factorial(k)*factorial(n-k))
end
\end{luacode}
\newcommand{\binomial}[2]{%
\directlua{tex.print ( binomial ( #1, #2 ) ) }
}
\begin{document}
\pagecolor{yellow!65}
\begin{tikzpicture}[%scale=2.0,transform shape,
font=\footnotesize,
]
% Binomialkoeffizienten
\foreach \n in {0,...,10} {%-----------------------------------------
\foreach \k in {0,...,\n} {%
% Ausführliches Ergebnis
\node[align=center](\n) at (2*\k-1*\n,-\n) {
$\binom{\n}{\k} = \binomial{\n}{\k}$
};
%
% Kurzes Ergebnis
% \node(\n) at (\k-\n/2,-\n) {$\binomial{\n}{\k}$};
%
}%%
}%-----------------------------------------
\node[above of = 0]{\underline{Binomialkoeffizienten $\dbinom{n}{k}$}};
\end{tikzpicture}
\end{document}
![alt text][1]
Die Rechenfähigkeiten von Lua sind weit besser als die von TeX. Übrigens ist die Formel mit den Fakultäten eine sehr ineffektive Methode zur Berechnung von Binomialkoeffizienten. Die Umsetzung der Produktformel als Algorithmus (egal ob als Schleife oder Rekursion) ist dagegen wesentlich effizienter, weil dabei keine riesigen Zwischenergebnisse wie n! oder k! entstehen, die sehr schnell zu Überläufen führen. Im mit Deiner Grafik noch darstellbaren Bereich bis ca. 25 ist die Fakultätsformel in Lua aber kein Problem, weshalb ich sie beibehalten habe. Spaßeshalber habe ich es sogar mit n=100 durchlaufen lassen, was zwar zu Darstellungsproblemen führt, die Berechnung selbst funktioniert aber sogar in erträglicher Zeit (weniger als eine Minute auf meinem langsamen Notebook).
Aus Lust und Laune hier trotzdem eine für größere n effizientere Lösung:
\documentclass[margin=2mm]{standalone}
%\documentclass{article}
\usepackage{amsmath}
\usepackage{tikz}
% \usetikzlibrary{positioning}
\usepackage{luacode}
\begin{luacode}
function binomial (n,k)
if (k == 0) then
return 1
else
if (2*k > n) then
return binomial (n, n-k)
else
b = n - k + 1
for i=2,k,1 do
b = b * (n - k + i)
b = b / i
end
return b
end
end
end
\end{luacode}
\newcommand{\binomial}[2]{%
\directlua{tex.print ( binomial ( #1, #2 ) ) }
}
\begin{document}
\pagecolor{yellow!65}
\begin{tikzpicture}[%scale=2.0,transform shape,
font=\footnotesize,
]
% Binomialkoeffizienten
\foreach \n in {0,...,10} {%-----------------------------------------
\foreach \k in {0,...,\n} {%
% Ausführliches Ergebnis
\node[align=center](\n) at (2*\k-1*\n,-\n) {
$\binom{\n}{\k} = \binomial{\n}{\k}$
};
%
% Kurzes Ergebnis
% \node(\n) at (\k-\n/2,-\n) {$\binomial{\n}{\k}$};
%
}%%
}%-----------------------------------------
\node[above of = 0]{\underline{Binomialkoeffizienten $\dbinom{n}{k}$}};
\end{tikzpicture}
\end{document}
[1]: http://texwelt.de/wissen/upfiles/test5_6.png