Elaborati un program PASCAL care afiseaza pe ecran toate submultimile multimii {1, 2, 3, 4}
Răspunsuri la întrebare
Răspuns de
4
Răspuns:
program submultimi;
const MAX=6;
type Natural=0..1000;
var n,p,i:Natural;
v:array[0..MAX] of Natural;
function solutie(k:Natural):boolean;
begin
solutie:=k=p;
end;
procedure afisare(k:Natural);
var i:Natural;
begin
write('{');
for i:=1 to k-1 do
write(v[i],',');
write(v[k],'} ');
end;
procedure BK(k:Natural);
var i:Natural;
begin
for i:=v[k-1]+1 to n do
begin
v[k]:=i;
if (solutie(k)) then afisare(k)
else BK(k+1);
end;
end;
begin {programul principal}
n:=4;
writeln('submultimile multimii {1,2,3,4} :');
write('{} ');
for p:=1 to n-1 do
BK(1);
write('{');
for i:=1 to n-1 do
write(i,',');
writeln(n,'}');
end.
Explicație:
Folosită metoda Backtracking
Alte întrebări interesante
Fizică,
8 ani în urmă
Matematică,
8 ani în urmă
Religie,
8 ani în urmă
Matematică,
9 ani în urmă
Limba română,
9 ani în urmă