欢迎来到天天文库
浏览记录
ID:5575135
大小:38.50 KB
页数:3页
时间:2017-12-19
《方阵填数问题分析》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、方阵填数方阵填数1【题目】方阵填数:在一个N×N的方阵中,填入1,2,.....N×N个数,并要求 构成如下的格式: 如 N=4 N=5 1011 12 1 13 14 1516 1 9 16 13 2 12 23 2417 2 8 15 14 3 11 22 2518 3 7 6 5 4
2、 10 21 2019 4 9 8 7 6 5【算法分析】例如N=4,观察图案,填数大致规律如下: 2 程序中用k来控制每一次连续填多少个数 ──→ │ j控制填数方向 ↑ │2│ 3│1↑ ↓ │4个数 │
3、 ←1 │ ←─────↓ 3个数【参考程序】 Var j:Integer; n,i,k,x,y,Number:Byte; Result:Array[1..25,1..25]ofByte; Begin Write('N=');Readln(n); Forx:=1tondofory:=1tondoResult[x,y]:=0;{初始化数组}
4、X:=0;Y:=N;i:=0;k:=N;j:=1; {j表示填数方向。从左→右或从上→下,j=1;否则j=-1} Whilei5、=i; End; Dec(k);{K:填多少个数,其规律是递减:n,n-1,n-2,......,2,1} Ifj=1thenj:=-1elsej:=1; {改变方向} Fori:=i+1toi+kdo {横向填k个数} Begin y:=y+6、j; Result[x,y]:=i; End; End; Forx:=1tondo {输出} Begin Fory:=1tondoWrite(Result[x,y]:3); Writeln; End; End.方阵填数2【题目】方阵填数:在7、一个N×N的方阵中,填入1,2,.....N×N个数,并要求构成如下的格式:N=4N=51341013410112591125912196812156813182071314167141721241516222325【算法分析】例如N=4,观察图案,是以右上→左下,或左下→右上这样的斜向来填数的。1234这个方向可用j取1与-1来控制。////3一共有7个斜行,每一斜行数的个数的规律1,2,3,4,3,2,1////2例如第三斜行,其坐标变化规律:a[1,3]->a[2,2]->a[3,1]////1第四斜行,a[4,1]->a[3,2]-8、>a[2,3]->a[1,4]////坐标变化规律均是:在上一坐标基础上加1或减1 【参考程序】vara:array[1..20,1..20]ofinteger;n,x,y,i,
5、=i; End; Dec(k);{K:填多少个数,其规律是递减:n,n-1,n-2,......,2,1} Ifj=1thenj:=-1elsej:=1; {改变方向} Fori:=i+1toi+kdo {横向填k个数} Begin y:=y+
6、j; Result[x,y]:=i; End; End; Forx:=1tondo {输出} Begin Fory:=1tondoWrite(Result[x,y]:3); Writeln; End; End.方阵填数2【题目】方阵填数:在
7、一个N×N的方阵中,填入1,2,.....N×N个数,并要求构成如下的格式:N=4N=51341013410112591125912196812156813182071314167141721241516222325【算法分析】例如N=4,观察图案,是以右上→左下,或左下→右上这样的斜向来填数的。1234这个方向可用j取1与-1来控制。////3一共有7个斜行,每一斜行数的个数的规律1,2,3,4,3,2,1////2例如第三斜行,其坐标变化规律:a[1,3]->a[2,2]->a[3,1]////1第四斜行,a[4,1]->a[3,2]-
8、>a[2,3]->a[1,4]////坐标变化规律均是:在上一坐标基础上加1或减1 【参考程序】vara:array[1..20,1..20]ofinteger;n,x,y,i,
此文档下载收益归作者所有