You are on page 1of 4

,

algorithm2e.sty - g
oi lnh
biu din
.
thut
an (1)
. to
,
Hu,u in
Nguyn
,
Khoa To
an - Co - Tin hoc
.
HKHTN H`
a Ni,
. HQGHN

Danh s
ach thut
an
. to
1
2
3

,,
c s chung lo
,n nht (Gach
Uo
o m
oc khi lnh)
. . . . . . . . . . .
. c
.
,,
,
,
ng khi lnh)
c s chung lo
n nht(Gach
Uo
. . . . . . . . . . .
u
. d
.
S`
ang Eratostenes . . . . . . . . . . . . . . . . . . . . . . . . . . . .

,i thiu
Gio
oi lnh
. g
.

,
,
G
oi lnh
th hin
ac thut
an, c
o tai
ia
. ch
.
. c
. to
. d
http://tug.ctan.org/tex-archive/macros/latex/contrib/algorithm2e/
, ,
, ,
T
ac gia cua g
oi lnh
l`
a Christophe Fiorio. G
oi lnh
tuyt
i nhi`u cng
.
.
. v`oi vo
,
,`,
dung
thuong thy khi soan
an.
.
. thao thut
. to

,
,
Nhung v du. cu. th

\If{<i`u ki.
n
ung>}{<Th.
u,c hi.
n>}
,c hin>}{ else ... <Thu,c hin>}
\eIf{<i`u ki
n

u
ng>}{<Th
u
.
.
.
.
.
\For{<i`u ki.
n
ung>}{<Th.
u,c hi.
n>}
,
\While{<i`u ki
ung>}{<Thu
.n
.c hi
.n>}
,
\Repeat{<i`u ki
ung> ("Until") }{ <Thu
.n
.c hi
.n>}

\; kt th
uc d`
ong l.
nh
\def\Z{\mathbb{Z}}
\def\N{\mathbb{N}}
\SetKwData{KwData}{\textbf{`u v`
ao:}}
\SetKwData{KwResult}{\textbf{`u ra :}}

,
,,
,,
,
,
. c d
1. Ma
od
oc, tru`ong ho. p n`
ay khng c
o t`u kh
oa end kt
inh
u`ong ke m
. c
th
uc

\begin{algorithm}[h]
,,
\caption{U
oc s chung l
o,n nht (G.
ach c
o m
oc khi l.
nh)}
\label{ML:Algorithm1}
\KwData{$a,\, b \in \N.$}\;
\KwResult{MCD$(a,b)$}\;
\LinesNumbered
$c = |a|,\; d = |b|$\;
\While{$d\neq 0$}{
$r = $ rem$(c,d)$\;
$c = d$\;
$d = r$\;
}
\Return MCD$(a,b)=|c|$\;
\end{algorithm}

,,
c s chung lo
,n nht (Gach
Thut
an 1: Uo
o m
oc khi lnh)
. c
.
. to
`u v`ao:(a, b N.);
1
`u ra :(MCD(a, b));
2
3 c = |a|, d = |b|;
4 while d 6= 0 do
5
r = rem(c, d);
6
c = d;
7
d = r;
8

return MCD(a, b) = |c|;


,
,
,,
,
2. c
o c
ac d
ao lnh
\SetAlgoLined
u`ong ke ta d
ua v`
.

\begin{algorithm}[h]
,,
\caption{U
oc s chung l
o,n nht(Ga
u,ng khi l
.ch
.nh)}
\label{ML:Algorithm1}
\KwData{$a,\, b \in \N.$}\;
\KwResult{MCD$(a,b)$}\;
\SetAlgoLined
\LinesNumbered
$c = |a|,\; d = |b|$\;
\While{$d\neq 0$}{
$r = $ rem$(c,d)$\;

$c = d$\;
$d = r$\;
}
\Return MCD$(a,b)=|c|$\;
\end{algorithm}

,,
,ng khi lnh)
c s chung lo
,n nht(Gach
Thut
an 2: Uo
u
. d
.
. to
`u v`ao:(a, b N.);
1
`u ra :(MCD(a, b));
2
3 c = |a|, d = |b|;
4 while d 6= 0 do
5
r = rem(c, d);
6
c = d;
7
d = r;
8 end
9 return MCD(a, b) = |c|;

,,
,
,
Nhi`u tru`ong ho. p c`n c
o du m
oc d
ao \SetAlgoVlined
ua v`
,
i v`
. p
3. Vo
ong la

\begin{algorithm}[h]
\caption{S`
ang Eratostenes} \label{CribaEraostenes}
\SetAlgoLined
\KwData{$n \in\, \N$}\;
\KwResult{Danh s
ach s nguyn t trong $2$ v`
a $n$}\;
\LinesNumbered
max$=\left[\;\frac{(n-3)}{2}\;\right]$\;
boolean isPrime$[i],\;\;\; i=1,2,...,max$\;
\For{$j=1,2,...,max$ }{ isPrime$[j]=$True\;}
$i=0$\;
\While{$(2i+3)(2i+3) \leq n$}{
$k=i+1$\;
\If{\rm isPrime$[i]$}{
\While{$(2k+1)(2i+3) \leq n$}
{
isPrime$[((2k+1)(2i+3)-3)/2]=$False\;
$k=k+1$\;
}}
$i=i+1$\;
}
In ra danh s
ach s nguyn t\;

\For{$j=1,2,...,max$ }{
\If{\rm isPrime$[j]=$True}{S nguyn t l`
a $j$ }
}
\end{algorithm}

Thut
an 3: S`
ang Eratostenes
. to
`u v`ao:(n N);
1

`u ra :(Danh s
2
a n);
h
i ach s nguyn t trong 2 v`
(n3)
2

max=

boolean isPrime[i], i = 1, 2, ..., max;


for j = 1, 2, ..., max do
isPrime[j] =True;
end
i = 0;
while (2i + 3)(2i + 3) n do
k = i + 1;
if isPrime[i] then
while (2k + 1)(2i + 3) n do
isPrime[((2k + 1)(2i + 3) 3)/2] =False;
k = k + 1;
end
end
i = i + 1;
end
In ra danh s
ach s nguyn t;
for j = 1, 2, ..., max do
if isPrime[j] =True then
S nguyn t l`
aj
end
end

5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

4. In ra danh s
ach c
ac thut
an: \listofalgorithms
. to

Ch
uy

,
, , ,
Ti se l`n luo. t gio
i thiu
ac tnh n
ang kh
ac cua g
oi lnh.
. c
.

You might also like