帕斯卡三角形上方为 0 吗?

帕斯卡三角形上方为 0 吗?

二项式系数的帕斯卡三角形从1第 1 行开始,然后是1 1第 2 行、1 2 1第 3 行,依此类推。

这个问题的答案

tikz 中的帕斯卡三角形

展示如何在 tikz 中写出解决方案。

以下是我喜欢的改编版本:

\begin{tikzpicture}[rotate=-90]
\foreach \x in {0,1,...,3}
{
    \foreach \y in {0,...,\x}
    {
        \pgfmathsetmacro\binom{factorial(\x)/(factorial(\y)*factorial(\x-\y))}
        \pgfmathsetmacro\shift{\x/2}
        \node[xshift=-\shift cm] at (\x,\y) {\pgfmathprintnumber\binom};
    }
}
\end{tikzpicture}

我如何写出一个变体,它0在第一行、1第二行、1 1第三行,然后继续像通常的帕斯卡三角形那样?

答案1

您只需添加

\node at (-1,0) {0};

在此处输入图片描述

\documentclass[border=5mm]{standalone}
\usepackage{tikz}
\begin{document}

\begin{tikzpicture}[rotate=-90]
\node at (-1,0) {0};
\foreach \x in {0,1,...,3}
{
    \foreach \y in {0,...,\x}
    {
        \pgfmathsetmacro\binom{factorial(\x)/(factorial(\y)*factorial(\x-\y))}
        \pgfmathsetmacro\shift{\x/2}
        \node[xshift=-\shift cm] at (\x,\y) {\pgfmathprintnumber\binom};
    }
}
\end{tikzpicture}

\end{document}
    

答案2

这只是@Torbjorn 答案的一个小替代方案(他教我的一个技巧这里) 以避免使用(在我看来很烦人\pgfmathsetmacro),在循环中直接包含要评估的变量。

更多详细信息请参阅 pfg 手册 v3.1.5.b p1003,第 89 节重复事物:Foreach 语句。

在此处输入图片描述

\documentclass[border=5mm]{standalone}
\usepackage{tikz}
\begin{document}

\begin{tikzpicture}[rotate=-90]
\node at (-1,0) {0};
\foreach \x in {0,1,...,3}
{
 \foreach [evaluate ={
           \binom = factorial(\x)/(factorial(\y)*factorial(\x-\y));
           \shift = \x/2 ;
           }] \y in {0,...,\x}
    {\node[xshift=-\shift cm] at (\x,\y) {\pgfmathprintnumber\binom};}
}
\end{tikzpicture}

\end{document}

相关内容