Pascal
Modified: Wednesday, 22-12-2021 07:00 AM
Ma trận vuông có dạng:
nhap so n: 10
1 2 6 7 15 16 28 29 45 46
3 5 8 14 17 27 30 44 47 64
4 9 13 18 26 31 43 48 63 65
10 12 19 25 32 42 49 62 66 79
11 20 24 33 41 50 61 67 78 80
21 23 34 40 51 60 68 77 81 90
22 35 39 52 59 69 76 82 89 91
36 38 53 58 70 75 83 88 92 97
37 54 57 71 74 84 87 93 96 98
55 56 72 73 85 86 94 95 99 100
var a:array[1..100,1..100] of integer;
n,i,j:integer;
begin
write('nhap n: ');readln(n);
for i:=1 to n do
for j:=1 to n+1-i do
begin
a[i,j]:=(i+j-1)*(i+j-2) div 2;
if (i+j) mod 2 =0 then
a[i,j]:=a[i,j]+j
else a[i,j]:=a[i,j]+i;
a[n+1-i,n+1-j]:=n*n+1-a[i,j];
end;
for i:=1 to n do
begin
for j:=1 to n do write(a[i,j]:4);
writeln;
end;
readln;
end.