⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 back1.pas

📁 This ar the basic programs that i did in highschool. From very simple to medium programs. From array
💻 PAS
字号:
program regine;
type stiva=array[1..100] of integer;
var st:stiva;
    n,k:integer;
    as,ev:boolean;
procedure init(var st:stiva;k:integer);
begin
st[k]:=0;
end;
procedure succesor(var st:stiva;k:integer;var as :boolean);
begin
if st[k]<n then begin
                inc(st[k]);
                as:=true;
                end
                else as:=false;
end;
procedure valid(st:stiva;k:integer;var ev:boolean);
var i:integer;
begin
ev:=true;
for i:=1 to k-1 do
                begin
                if st[k]=st[k-1] then ev:=false;
                if abs(k-i)=abs(st[k]-st[i]) then ev:=false;
                end;
end;
function solutie(st:stiva; k:integer):boolean;
begin
solutie:=(k=n);
end;
procedure tipar;
var i:integer;
begin
for i:=1 to n do
              write(st[i],' ' );
              writeln;
end;
begin
write('n=');readln(n);
k:=1;
init(st,k);
while k>0 do begin
          repeat
          succesor(st,k,as);
          if as then valid(st,k,ev);
          until (not as)  or (as and ev);
             if as then
                if solutie(st,k) then tipar
                                 else begin
                                      inc(k);
                                      init(st,k);
                                      end
                   else dec(k);
end;
end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -