Chủ đề được gửi trong chuyên mục Mã hóa-Giải mã & Thuật toán bởi ducanh76
Không hiểu cơ chế làm việc của code này (Pascal) !
ducanh76
Không hiểu cơ chế làm việc của code này (Pascal) !
-
20-03-2010, 03:36 PM
ducanh76
Thành Viên SVIT
Được cảm ơn 0 trong 0 bài viết
Đã viết 8 bài thảo luận
437 lượt xem
#1
Không hiểu cơ chế làm việc của code này (Pascal) !
Mình có code của bài toán in ra tất cả các hoán vị của nó mà mình không hiểu được chế độ làm việc của nó như thế nào, mong mọi người giúp:
Code:
uses crt;
var a,b:array[1..20] of byte;
PROCEDURE print;
var i:byte;
begin
for i:=1 to n do
write(a[i]:3);
writeln;
end;
{------------------------------}
PROCEDURE find(i:byte);
var j:byte;
begin
if i>n then print
else
begin
for j:=1 to n do
if b[j]=0 then
begin
a[i]:=j;
b[j]:=1;
find(i+1);
b[j]:=0;
end;
end;
end;
BEGIN
Write(' Nhap n = '); readln(n);
find(1);
END.
Mình không hiểu từ chỗ " if b[j]=0'
ở đây không hề có lệnh nhập hay gán b[j]= bao nhiêu vậy thì làm sao để kiểm tra b[j] ?
Chủ đề mới cùng chuyên mục
Hi ducanh76, chúc ducanh76 một ngày tốt lành !
Nhấn thanks nếu thấy bài viết có ích nhé ducanh76 
-