알고리즘의 폭주 논쟁

알고리즘의 폭주 논쟁
\begin{algorithm}
\caption{Partial Sum Update Algorithm}\label{alg:usline}
\begin{algorithmic}[1]
\State $\mathcal{N}^*\gets$ bitreverse$(\mathcal{N})$
\If{$i(s)=0$}\Comment{The $s^{th}$ LSB in the binary representation of i is $0$.}
\If{$s=\log _2N - 1$ or$ i_{(\log _{2}N - 1):(s+1)} = \mathcal{N}_{(\log _{2}N - 2):s}^*$
\Endif
\Endif

\end{algorithmic}
\end{algorithm}

위의 내용은 "폭주 논쟁"을 생성합니다. 왜 어떤 아이디어가 있습니까?

답변1

마지막에 닫는 중괄호가 없습니다 \If(첫 번째 여는 중괄호가 균형을 이루지 않음). 아래 코드에 추가했습니다.

\documentclass{article}
\usepackage{algorithm,algpseudocode}

\begin{document}

\begin{algorithm}
\caption{Partial Sum Update Algorithm}\label{alg:usline}
\begin{algorithmic}[1]
\State $\mathcal{N}^*\gets$ bitreverse$(\mathcal{N})$
\If{$i(s)=0$}\Comment{The $s^{th}$ LSB in the binary representation of i is $0$.}
\If{$s=\log _2N - 1$ or $ i_{(\log _{2}N - 1):(s+1)} = \mathcal{N}_{(\log _{2}N - 2):s}^*}$
\EndIf
\EndIf
\end{algorithmic}
\end{algorithm}

\end{document}

여기에 이미지 설명을 입력하세요

또한 올바른 구문은 is \EndIf와 not입니다 \Endif(적어도 if algpseudocode가 사용되고 있음).

관련 정보