使用»算法«包的递归算法?

使用»算法«包的递归算法?

我需要编写一个递归算法,使用算法包裹。

我想写这样的东西:

\begin{algorithmic}
\IF {$x=1}
    \RETURN 1
\ELSE
    \RETURN recurse$(x-1)$
\ENDIF
\end{algorithmic}

这里的问题是,函数“recurse”会再次调用这个函数(一开始没有命名)这一点并不明显。除了在文本中说明“recurse”——好吧,递归——之外,还有更好的方法吗?

答案1

似乎没有办法定义程序,algorithms但是你使用algorithm适当的环境\caption来命名你的算法。

不过,就我个人而言,我会改用高级algorithmicx套餐定义一个\Procedure宏:

\begin{algorithm}
\Procedure{recurse}{$x$}
  \If{$x=1$}
    \State\Return{$1$}
  \Else
    \State\Return{\Call{recurse}{$x-1$}}
  \EndIf
\EndProcedure
\end{algorithm}

相关内容