有人能帮忙吗?我需要知道如何在 Latex 上计算值 S(n) = 0+1+2+3+4...+(n-1)+n 的总和(例如:0+1+2+3 = 6、0+1+2+3+4+5+6+7 = 28 等等)
我对这门语言还很陌生。
\batchmode
\documentclass{article}
\pagestyle{empty}
\usepackage{ifthen}
\newcounter{sommea}
\newcounter{sommeb}
\newcounter{compt}
\newcommand{\somme}[2]{
\setcounter{sommea}{#1}
\setcounter{sommeb}{#2}
\setcounter{compt}{0}
\sommen{#1}
}
\newcommand{\sommen}{1}{
\ifthenelse{#1 = \thecompt}{\sommeadd{#1}}{}
}
答案1
方法forloop
......只需指定要计算的整数数量:
\documentclass{article}
\pagestyle{empty}
\usepackage{forloop}
\newcounter{sumcounter}%
\newcounter{loopcounter}
\newcommand{\gausssum}[1]{%
\setcounter{sumcounter}{0}%
\forloop{loopcounter}{1}{\value{loopcounter} < \numexpr #1 +1}{%
\addtocounter{sumcounter}{\value{loopcounter}}%
}%
}
\newcounter{democounter}
\begin{document}
\forloop{democounter}{1}{\value{democounter} < 21}{%
\gausssum{\number\value{democounter}}%
\(\sum\limits_{k=1}^{\number\value{democounter}} k = \thesumcounter\)%
}%
\end{document}
答案2
那么,试试这个:
\usepackage{ifthen}
\newcounter{s}
\newcounter{ergebnis}
\newcommand{\Summe}[1]{%
\setcounter{s}{#1}%
\setcounter{ergebnis}{0}%
\whiledo{\value{s} > 0}{%
\addtocounter{ergebnis}{\value{s}}%
\addtocounter{s}{-1}%
}\theergebnis}
并且文档中的 \Summe{3} 将打印 6。(它本来可以进行乘法和除法,从而使速度更快)