noip普及组初赛模拟试卷23(附答案)(2)

2021-09-24 12:14

writeln;

end.

输入 4 5 -10 -30 2 20

输出 20 2 -10 -30 5 4

完善程序

问题描述: n n方阵的每行每列都是自然数1..n的一个全排列,每行(列)无重复数字。

例: n=5时,

1 4 3 2 5

5 3 2 1 4

4 2 1 5 3

3 1 5 4 2

2 5 4 3 1

输入 n(>=2)和第一行数字(不检查错误),输出 一个满足要求的方阵。因为只是要求每行(列)无重复数字,第一行的每个数字,都四十五度斜向下写,写到行尽头就从行开头开始。

这样就不会重复。对于经过第y行,x列的直线,斜率k=1,设:y=x+b。代入坐标,得出:b=y-x,令y=1,取首行的数:x=y-b,x从1开始,到n,如果x为0或负数,则x=x+n,取出第一行的数。

程序只用一维数组,存第一行的数字。

program example2;

const

maxn=10000;

var

a:array[1..maxn] of integer;

x,y,n:integer;

function f(x,y:integer):integer;

var

b:integer;

begin

if x<=0 then

f:=a[x];

end;

begin

write('Enter n:'); readln(n);

if (n<2) or (n>maxn) then exit;

write('Enter first line:');

for x:=1 to n do read(a[x]);

writeln('Output:');

for x:=1 to n do write(a[x]:4);

writeln;

for y:=2 to n do

begin

for x:=1 to n do write(:4);

writeln;

end;

end.


noip普及组初赛模拟试卷23(附答案)(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:膜分离技术在冶金

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: