Gray codes.pas 619 B

1234567891011121314151617181920212223242526272829303132
  1. const
  2. table : array [0..3] of string[2] = ('00','01','11','10');
  3. var
  4. i,j,k,ni,nj,nk,num : shortint;
  5. S : Text;
  6. begin
  7. ni:=1;nj:=1;nk:=1;
  8. i:=0;j:=0;k:=0;num:=0;
  9. Assign(S,'out');
  10. Rewrite(S);
  11. while i <> (3*(ni+1) div 2+ni) do
  12. begin
  13. while j <> (3*(nj+1) div 2+nj) do
  14. begin
  15. while k <> (3*(nk+1) div 2+nk) do
  16. begin
  17. WriteLn(S,table[i],table[j],table[k],' - ',num);
  18. inc(num);
  19. inc(k,nk);
  20. end;
  21. dec(k,nk);
  22. inc(j,nj);
  23. nk:=-nk;
  24. end;
  25. dec(j,nj);
  26. inc(i,ni);
  27. nj:=-nj;
  28. end;
  29. close(S);
  30. end.