https://math-linux.com/latex-26/faq/latex-faq/article/how-to-write-algorithm-and-pseudocode-in-latex-usepackage-algorithm-usepackage-algorithmic
overleaf Algorithms 说明
添加宏
\usepackage{algorithm}
\usepackage{algorithmic}
将 “Algorithm” 替换成 “算法”
\floatname{algorithm}{算法}
可选用的代码结构
由于版本的不同,有的版本支持下列命令仅开头大写
普通的一行语句
\STATE <语句>
If 语句
\IF{<条件>} <语句> \ENDIF
\IF{<条件>} <语句> \ELSE <语句> \ENDIF
\IF{<条件>} <语句> \ELSIF{<条件>} <语句> \ELSE <语句> \ENDIF
For 循环
\FOR{<条件>} <语句> \ENDFOR
\FORALL{<条件>} <语句> \ENDFOR
While 循环
\WHILE{<条件>} <语句> \ENDWHILE
Do-Until 循环
\REPEAT <语句> \UNTIL{<条件>}
无限循环
\LOOP <语句> \ENDLOOP
已知
\REQUIRE <语句>
求
\ENSURE <语句>
返回变量
\RETURN <语句>
打印变量
\PRINT <语句>
注释
\Comment{<注释>}
案例
\documentclass{article}
\usepackage{algorithm}
\usepackage{algpseudocode}
\begin{document}
\begin{algorithm}
\caption{An algorithm with caption}\label{alg:cap}
\begin{algorithmic}
\Require $n \geq 0$
\Ensure $y = x^n$
\State $y \gets 1$
\State $X \gets x$
\State $N \gets n$
\While{$N \neq 0$}
\If{$N$ is even}
\State $X \gets X \times X$
\State $N \gets \frac{N}{2}$ \Comment{This is a comment}
\ElsIf{$N$ is odd}
\State $y \gets y \times X$
\State $N \gets N - 1$
\EndIf
\EndWhile
\end{algorithmic}
\end{algorithm}
\end{document}