Second answer
The earlier answer used a macro computing individual binomial coefficients.
I now address the matter building row by row of the Pascal Triangle, as in the other answers.
For this as an exercise of translation I have taken an exact copy of the metapost code of @fpast's answer, and translated it into TeX. Up the the 34th row we can use TeX arithmetic. For simplicity I used \numexpr. Starting with the 34th row (actually there only the middle three coefficients exceeds 2^31-1) I use big integer arithmetic.
To organize the loops I use \xintFor from package xinttools. This package also defines \odef which does a definition + expansion and \oodef which does a definition + double expansion. They are used in the code together with various mixes of \numexpr, \dimexpr, \@namedef, @nameuse etc... pure TeX/LaTeX joys with its subtleties at times about where spaces are allowed or not (most spaces do not matter much as we are in a TikZ picture).
The code for the first 80 lines compile not too slowly (about 9 seconds on my laptop).
I only display the largest numbers of the triangle.
Notice that we are close to the TeX limits for the maximal dimension as each number is separated horizontally by 6cm from its neighbour.
The original metapost code of fpast is shown alongside its translation into TeX.
edit the code tested the line number to use only \numexpr for the first 33 lines (as only integers <2^31 are then evaluated) but actually doing all the computations with xint and not checking for the line number to decide to use \numexpr or xint is faster! (about 2% faster when computing 80 lines of the triangle). I thus comment out the conditionals.
\documentclass[12pt, tikz, border=5mm]{standalone}
\usepackage{tikz}
\usepackage{xint}
\usepackage{xinttools}
\makeatletter
\newdimen\X
\newdimen\Y
\def\PascalTriangle #1#2#3{% #1=n (integer) #2=u (dimension) #3=v (dimension)
% save b, mid; numeric b[][], mid; clearxy;
% b[0][0] = b[1][0] = b[1][1] = 1;
% label("1", origin); label("1", (-.5u, -v)); label("1", (.5u, -v));
\edef\U {\the\numexpr\dimexpr #2\relax }% convert to sp units
\edef\V {\the\numexpr\dimexpr #3\relax }%
\@namedef{dali@0@0}{1}%
\@namedef{dali@1@0}{1}%
\@namedef{dali@0@1}{1}%
\node at (0,0) {$1$};%
\node at (-.5*#2,-#3) {$1$};
\node at (.5*#2,-#3) {$1$};
% for i = 2 upto n:
\xintFor ##1 in {\xintegers[2+1]}\do {%
\ifnum #1<##1\expandafter\xintBreakFor\fi
% mid := i div 2;
\odef\Mid {\the\numexpr (##1+1)/2 -1\relax }%
% x := -u*i/2;
\X = \dimexpr\the\numexpr (-##1*\U)/2\relax sp
% y := -i*v ;
\Y = \dimexpr\the\numexpr -##1*\V\relax sp
% b[i][0] = 1; label("1", z); label("1", (-x, y));
\@namedef{dali@\the##1@0}{1}%
\node at (\X,\Y) {$1$};
\node at (-\X,\Y) {$1$};
% for k = 1 upto mid:
\xintFor ##2 in {\xintegers[1+1]}\do {%
\ifnum\Mid<##2\expandafter\xintBreakFor\fi
% x := x + u;
\advance\X by #2\relax
\let\next\@secondoftwo
% if (k < mid) or (odd i):
\ifnum \Mid>##2\let\next\@firstoftwo\fi
\ifodd ##1\let\next\@firstoftwo\fi
\next
{%
% b[i][k] = b[i-1][k-1] + b[i-1][k];
% \ifnum ##1<34 % binomial coefficients are < 2^31
% % EDIT DROPS THIS CONDITIONAL
% \expandafter\odef\csname dali@\the##1@\the##2\endcsname
% {\the\numexpr\@nameuse{dali@\the\numexpr##1-1@\the\numexpr##2-1}
% +\@nameuse{dali@\the\numexpr##1-1@\the##2}\relax }%
% \else % 34 choose 17 is 2333606220 > 2^31-1 = 2147483647
\expandafter\oodef\csname dali@\the##1@\the##2\endcsname
{\xintiiAdd{\@nameuse{dali@\the\numexpr##1-1@\the\numexpr##2-1}}
{\@nameuse{dali@\the\numexpr##1-1@\the##2}}}%
% \fi
% label(decimal b[i][k], z); label(decimal b[i][k], (-x, y));
\node at (\X,\Y) {$\@nameuse{dali@\the##1@\the##2}$};
\node at (-\X,\Y) {$\@nameuse{dali@\the##1@\the##2}$};
}%
% else:
{%
% b[i][k] = 2b[i-1][k-1];
% \ifnum ##1<34 % EDIT DROPS THIS CONDITIONAL
% \expandafter\odef\csname dali@\the##1@\the##2\endcsname
% {\the\numexpr2*\@nameuse{dali@\the\numexpr##1-1@\the\numexpr##2-1}\relax}%
% \else
\expandafter\oodef\csname dali@\the##1@\the##2\endcsname
{\xintDouble{\@nameuse{dali@\the\numexpr##1-1@\the\numexpr##2-1}}}%
% \fi
% label(decimal b[i][k], z);
\node at (\X,\Y) {$\@nameuse{dali@\the##1@\the##2}$};
}%
% fi
% endfor
}%
% endfor
}%
}
\makeatother
\begin{document}
\begin{tikzpicture}
\PascalTriangle{80}{6cm}{1cm}
\end{tikzpicture}
\end{document}

Earlier answer
(computes individual binomial coefficients)
You can do this
\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage{tikz}
% \binomialb macro from https://tex.stackexchange.com/a/161863/4686
% expandably computes binomial coefficients with \numexpr
% START OF CODE
\catcode`_ 11
\def\binomialb #1#2{\romannumeral0\expandafter
\binomialb_a\the\numexpr #1\expandafter.\the\numexpr #2.}
\def\binomialb_a #1.#2.{\expandafter\binomialb_b\the\numexpr #1-#2.#2.}
\def\binomialb_b #1.#2.{\ifnum #1<#2 \expandafter\binomialb_ca
\else \expandafter\binomialb_cb
\fi {#1}{#2}}
\def\binomialb_ca #1{\ifnum#1=0 \expandafter \binomialb_one\else
\expandafter \binomialb_d\fi {#1}}
\def\binomialb_cb #1#2{\ifnum #2=0 \expandafter\binomialb_one\else
\expandafter\binomialb_d\fi {#2}{#1}}
\def\binomialb_one #1#2{ 1}
\def\binomialb_d #1#2{\expandafter\binomialb_e \the\numexpr #2+1.#1!}
% n-k+1.k! -> u=n-k+2.v=2.w=n-k+1.k!
\def\binomialb_e #1.{\expandafter\binomialb_f \the\numexpr #1+1.2.#1.}
% u.v.w.k!
\def\binomialb_f #1.#2.#3.#4!%
{\ifnum #2>#4 \binomialb_end\fi
\expandafter\binomialb_f
\the\numexpr #1+1\expandafter.%
\the\numexpr #2+1\expandafter.%
\the\numexpr #1*#3/#2.#4!}
\def\binomialb_end #1*#2/#3!{\fi\space #2}
\catcode`_ 8
% END OR \binomialb code
\begin{document}\thispagestyle{empty}
\begin{tikzpicture}
\foreach \n in {0,...,4} {
\foreach \k in {0,...,\n} {
\node at (2*\k-\n,-\n) {${\n \choose \k} = \binomialb\n\k$};
}
}
\end{tikzpicture}
\bigskip\bigskip
\begin{tikzpicture}
\foreach \n in {21,...,24} {
\foreach \k in {10,...,\the\numexpr\n-11\relax} {
\node at (3*\k-1.5*\n,-\n) {${\n \choose \k} = \binomialb\n\k$};
}
}
\end{tikzpicture}
%\bigskip\bigskip
% arithmetic overflow, use xint and \binomialB !
% \begin{tikzpicture}
% \foreach \n in {30,...,34} {
% \foreach \k in {15,...,\the\numexpr\n-15\relax} {
% \node at (4*\k-2*\n,-\n) {${\n \choose \k} = \binomialb\n\k$};
% }
% }
% \end{tikzpicture}
\end{document}

\FPpascalmacro implemented infp-pas.sty(part of thefppackage). – Gonzalo Medina May 06 '11 at 00:49\binom{a}{b}from the amsmath package instead of{a \choose b}for binomial coefficients – Spike May 06 '11 at 08:44