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

📄 pascal源代码.pas

📁 功能:在默认有唯一解的情况下
💻 PAS
字号:
Const
 max=100;
type
  matrix=array[1..max,1..max+1] of integer;

var
 d:array[0..max] of matrix;
 i,j,k,t,n:integer;

Function mark(i,j:integer):shortint;
begin
  if odd(i+j) then mark:=-1 else mark:=1;
End;

Function sub(s:matrix;size:integer):integer;
var i,j,p:integer;
    ne:matrix;
begin
  sub:=0;
  if size=2 then begin
     sub:=s[1,1]*s[2,2]-s[1,2]*s[2,1];
     exit;
  end;
  for p:=1 to size do
  begin
    fillchar(ne,sizeof(ne),0);
    ne:=s;

   for i:=1 to size-1 do
      ne[i]:=ne[i+1];//Merge Up and Down

   for i:=1 to size-1 do
    for j:=p to size-1 do
      ne[i,j]:=ne[i,j+1];//Merge Left and Right

   inc(sub,sub(ne,size-1)*s[1,p]*Mark(n-size+1,n-size+p));
  end;
End;

begin
 assign(input,'matrix.txt');reset(input);
 assign(output,'answer.txt');rewrite(output);
 fillchar(d,sizeof(d),0);
 readln(n);
 for i:=1 to n do begin
  for j:=1 to n+1 {Augmented Matrix} do
   read(d[0][i,j]);
  readln;
 end;
 close(input);
 t:=sub(d[0],n);
 for i:=1 to n do begin
   d[i]:=d[0];
   for j:=1 to n do d[i][j,i]:=d[0][j,n+1];
   k:=sub(d[i],n);
   if k mod t=0 then writeln('X',i,' = ',k div t)
   else writeln('X',i,' = ',k,'/',t);
 end;
 close(output);
End.

⌨️ 快捷键说明

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