算法格式不正确

算法格式不正确

我正在尝试在 latex 中编写一个算法,但在我输入 if 语句后,它返回一个错误并说缺少一个数字。这是什么意思?我的缺陷在哪里?这是我写的(请注意,我正在尝试编写一个不一定检查事物的通用算法,因此 if 中有通用语句):

\For{j = length($y_i$)}{
   \If{$\{x_j$ and $\neg x_j\}$ in $y_i$}{
     \State \text{$a_i$ = F}
        }

我可以这么做吗?

答案1

似乎您混淆了algpseudocode和 的语法algorithm2e

使用前一个包,语法如下

\documentclass{article}
\usepackage{amsmath}
\usepackage{algpseudocode}

\begin{document}

\begin{algorithmic}[1]
\For{$j = \operatorname{length}(y_i)$}
   \If{$\{x_j$ and $\neg x_j\}$ in $y_i$}
     \State $a_i = \mathrm{F}$
   \EndIf
\EndFor
\end{algorithmic}

\end{document}

后一个包没有\State命令,所以我猜你正在使用algpseudocode

在此处输入图片描述

请注意我对您的输入所做的更改,以便在需要时使用数学模式。

相关内容