两个计数器的欧几里得除法

两个计数器的欧几里得除法

我想打印4乳胶计数器的欧几里得除法的余数。我该怎么做?

答案1

我认为你实际上正在寻找计算A模式b。解决这个问题的方法可能有很多种。使用 Expl3 语法,您可以执行以下操作:

\documentclass{article}

\ExplSyntaxOn
    \NewDocumentCommand{\remainderofdiv}{ m m }{
        \int_mod:nn { #1 } { #2 }
    }
\ExplSyntaxOff

\begin{document}

    \remainderofdiv{5}{2}

    \remainderofdiv{12}{2}

    \remainderofdiv{12}{5}

\end{document}

在此处输入图片描述

因此,假设你有一个包含X现在你想输出X模式 4:

\documentclass{article}

\newcounter{mycounter}
\ExplSyntaxOn
    \NewDocumentCommand{\mycountermodfour}{ }{
        \int_mod:nn { \value{mycounter} } { 4 }
    }
\ExplSyntaxOff

\begin{document}

    \setcounter{mycounter}{7}
    \mycountermodfour

\end{document}

答案2

在 OpTeX 中,您可以使用\expr宏:

\def\remainderofdiv#1#2{\expr[0]{#1\%#2}}

\remainderofdiv{12}{5}

\bye

或者,您可以\directlua直接使用:

\def\remainderofdiv#1#2{\directlua{tex.print(#1\%#2)}}

如果您想实现,\mycountermodfour那么您可以使用之前定义的宏:

\newcount\mycounter
\def\mycountermodfour{\remainderofdiv{\the\mycounter}{4}}

\mycounter=7
\mycountermodfour

\bye

相关内容