Const n=4; var f:text; a:array[1..n,1..n] of integer; i,j,t:integer; begin writeln('1:'); assign(f,'my.txt'); reset(f); for i:=1 to n do begin for j:=1 to n do begin read(f,a[i,j]); write(a[i,j]:3); end; readln(f); writeln; end; close(f); for i:=1 to n do for j:= i+1 to n do begin t:=a[i,j]; a[i,j]:=a[j,i]; a[j,i]:=t; end; writeln('2:'); for i:=1 to n do begin for j:=1 to n do write(a[i,j]:3); writeln; end; end.
Все приведённые ниже коды написаны и отлажены в среде PascalABC.NET 3.2. сборка 1439(10.05.2017).
Сначала программа, показывающая период=))
Var N:uint64; B:BigInteger:=1; Begin Write('N = ');ReadLn(N); For var i:= 1 to N do Begin if (i mod 10 <> 5)and(i mod 10 <> 0) then B:=B*i else if i mod 10 = 5 then B:=B div 2; Write(B mod 10); if i mod 40 = 0 then WriteLn; End; End.
N = 1000 1264224288868266264448468868222428448466 6264224288868266264448468868222428448466 6264224288868266264448468868222428448466 6264224288868266264448468868222428448466 6264224288868266264448468868222428448466 6264224288868266264448468868222428448466 6264224288868266264448468868222428448466 6264224288868266264448468868222428448466 6264224288868266264448468868222428448466 6264224288868266264448468868222428448466 6264224288868266264448468868222428448466 6264224288868266264448468868222428448466 6264224288868266264448468868222428448466 6264224288868266264448468868222428448466 ... Ну и так далее.
Искомая программа:
Const T = '6626422428886826626444846886822242844846'; Var S:BigInteger; Begin S:=ReadString.ToBigInteger; if S > 1 then WriteLn(T[(S mod 40).ToString.ToInteger+1]) else WriteLn(1) End.
var f:text;
a:array[1..n,1..n] of integer;
i,j,t:integer;
begin
writeln('1:');
assign(f,'my.txt');
reset(f);
for i:=1 to n do
begin
for j:=1 to n do
begin
read(f,a[i,j]);
write(a[i,j]:3);
end;
readln(f);
writeln;
end;
close(f);
for i:=1 to n do
for j:= i+1 to n do
begin
t:=a[i,j]; a[i,j]:=a[j,i]; a[j,i]:=t;
end;
writeln('2:');
for i:=1 to n do
begin
for j:=1 to n do write(a[i,j]:3);
writeln;
end;
end.
Пример:
Файл my.txt:
23 28 19 23
34 14 8 14
44 20 14 48
38 47 20 41
Результат:
1:
23 28 19 23
34 14 8 14
44 20 14 48
38 47 20 41
2:
23 34 44 38
28 14 20 47
19 8 14 20
23 14 48 41