witam
mam pewną prośbę , aby ktoś spróbował mi napisać co podane algo robią :) i jaki to jest typ algo ( deterministyczny cz niedetreministyczny :) )
1 algo
(? . Dany jest graf G o n wierzchołkach , Co jest wynikiem jego działania, czyli kiedy ten algorytm drukuje 0, a kiedy drukuje 1 ?? )
begin
{a jest tablicą a[1..n]}
a:=permutaja-losowa(n); {n jest liczbą wierzchołków w grafie G}
{powyższa instrukcja umieszcza w tablicy a losową permutację liczb 1, 2, ..., n}
b:=true; i:=1;
while (i < n) and b do begin
if {a[i],a[i+1]} nie jest krawędzią w grafie G then b:=false;
i:=i+1
end;
b:=b and ({a[n],a[1]} jest krawędzią w grafie G);
if b then write(1) else write(0)
end.
2 algo
(. Dany jest graf G = (V, E) o n wierzchołkach , Co jest wynikiem jego działania, czyli kiedy ten algorytm drukuje 0, a kiedy drukuje 1 ?? )
begin
read(k); {k jest parametrem działania tego programu}
wylosuj k-elementowy podzbiór W ze zbioru wierzchołków V;
b:=true;
for każdego i należy do W do
for każdego j należy do W do
if {i, j} Ď E then b:=false;
if b then write(1) else write(0)
end.
3 algo
(. Dana jest liczba naturalna n, Co jest wynikiem jego działania, czyli kiedy ten algorytm drukuje TAK ? )
begin
read(n);
k := random(n); l := random(n);
{Procedura random(n) generuje losową liczbę naturalną z przedziału 2 i n}
if k*l = n then print(?TAK?)
end.