无法获得正确的 for 循环和 if

无法获得正确的 for 循环和 if
\usepackage{algorithm}
\usepackage{algpseudocode}

\begin{document}
\begin{algorithm}
\caption{Brute-Force algorithm}

\begin{algorithmic}[1]

\For {$s'$ \in ${\mathbb{F}^n_2}$}{
    \If {$wt(As'+b)$ \leq $t$}{
        return $s'$}
    }
\end{algorithmic}
\end{algorithm}
\end{document}

\end{onehalfspacing}

只想删除这个用红笔标记的多余部分 只想删除这个用红笔标记的多余部分

答案1

如果以下是您想要的输出,那么您忘记关闭Ifand块了。此外,使用而不是包时也For存在一些问题,并且您使用数学模式的方式也存在一些其他小问题:\leftarrow\gets

\documentclass{scrartcl}

\usepackage{algorithm}
\usepackage{algpseudocode}
\usepackage{float}

\begin{document}
    \begin{minipage}{.6\linewidth}
        \begin{algorithm}[H]
            \caption{Brute-Force algorithm}
            \begin{algorithmic}[1]
                \State \textbf{Input:} dimension $d \in \mathbf{N}$, error rate $\tau \in \left[0,\frac{1}{2}\right)$
                \State \textbf{Output:} secret $\mathbf{s}$
                \State $n$ = $4d $(\( \frac{1}{2} \) - \(\tau\))$^{-2}$ ,
                \State $ (A,b) \gets Orc^n_{d,\tau} $
                \For {$s' \in \mathbf{F}^n_2$}
                    \If{$wt(As'+b) \leq t$}
                        return s'
                    \EndIf
                \EndFor
            \end{algorithmic}
        \end{algorithm}
    \end{minipage}
\end{document}

在此处输入图片描述

相关内容