作业帮 > 综合 > 作业

pascal做幻方怎么做?

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/11/09 06:27:53
pascal做幻方怎么做?
1147:幻方
时间限制:1 Sec  内存限制:
64 MB
提交:149  解决:
98
[提交][状态][讨论版]
我们称下面这个 3×3 矩阵为 3 阶幻方,是因为无论是横行、竖行、斜行他们三个数的和都是相等的,均为 15.

我们用一行数字也可以表示唯一的一个 3 阶幻方,即一行接一行从左向右的表示,则上述的幻方可表示为:8,1,6,3,5,7,4,9,2 现提供一个缺少某一个数字的
3 阶幻方,请确定这个缺少的数字是多少?在输入中,缺少的数字用-1 表示,所有的数字用空格隔开.例如:8 1 6 3 5 -1 4 9 2.
输入
8 1 6 3 5 -1 4 9 2
输出
7 与题目中描述的幻方相同.)
样例输入  Copy 
5  15  13  19  11  3  9  7  -1

样例输出  Copy 
17

提示
【数据范围】:
所有 10 组数据中,每组输入都是 9 个数(用空格隔开),并且其中 8 个数是不超过 100 的正整数,-1
代表幻方中缺少的数.

来源
var
a:array[1..9]of longint;
i,n:longint;
begin
for i:=1 to 9 do begin
read(a[i]);
if a[i]=-1 then n:=i;
end;
case n of
1:write(a[4]+a[5]+a[6]-a[2]-a[3]);
2:write(a[4]+a[5]+a[6]-a[1]-a[3]);
3:write(a[4]+a[5]+a[6]-a[2]-a[1]);
4:write(a[1]+a[2]+a[3]-a[5]-a[6]);
5:write(a[1]+a[2]+a[3]-a[4]-a[6]);
6:write(a[1]+a[2]+a[3]-a[4]-a[5]);
7:write(a[1]+a[2]+a[3]-a[9]-a[8]);
8:write(a[1]+a[2]+a[3]-a[7]-a[9]);
9:write(a[1]+a[2]+a[3]-a[7]-a[8]);
end;
end.