| |
 |
|
 |
| |
 |
Alive Administrator

|
Data inscrierii: 02/Feb/2007 Mesaje: 1141 Localitate: Alba Iulia |
|
|
 |
|
 |
| |
Trimis: 31/12/2009 16:27 Titlul subiectului: program backtracking in pascal |
|
|
Programul tradițional pentru metoda backtracking.
| Cod: | program backtrackking;
var
x:array[1..20] of integer;
n,k,i:integer;
ok:boolean;
function valid(k:integer):boolean;
var i:integer;
begin
valid:=true;
for i:=1 to k-1 do
if x[k]=x[i] then valid:=false;
end;
procedure tipar(n:integer);
var i:integer;
begin
for i:=1 to n do
write (x[i],' ');
writeln;
end;
begin
writeln('n=');read(n);
k:=2;x[1]:=1;
while k>0 do
begin
ok:=false;
while (x[k]<n) and (ok=false) do
begin
x[k]:=x[k]+1;
if valid(k) then ok:=true;
end;
if ok=false then k:=k-1
else if k=n then tipar(k)
else
begin
k:=k+1;
x[k]:=0;
end;
end;
end.
|
_________________ Nu-mi dati sfaturi, stiu sa gresesc si singur!
Immanuel Kant |
|
|
| Sus |
|
|
 |
|
 |
| Pagina 1 din 1 |
Ora este GMT + 3 ore
|
 |
|
 |
| |
|
|
 |
|
 |
| |
|
Nu puteti crea un subiect nou in acest forum Nu puteti raspunde in subiectele acestui forum Nu puteti modifica mesajele proprii din acest forum Nu puteti sterge mesajele proprii din acest forum Nu puteti vota in chestionarele din acest forum
|
|
|
 |
|
 |
|
|
|
|
|
|