pascal(高等难度)试题

pascal(高等难度)试题

ID:5592241

大小:91.50 KB

页数:7页

时间:2017-12-19

pascal(高等难度)试题_第1页
pascal(高等难度)试题_第2页
pascal(高等难度)试题_第3页
pascal(高等难度)试题_第4页
pascal(高等难度)试题_第5页
资源描述:

《pascal(高等难度)试题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、问题1方阵填数1【题目】方阵填数:在一个N×N的方阵中,填入1,2,.....N×N个数,并要求构成如下的格式:如N=4N=51011121131415161916132122324172815143112225183765410212019498765【算法分析】例如N=4,观察图案,填数大致规律如下:2程序中用k来控制每一次连续填多少个数──→│j控制填数方向↑│2│3│1↑↓│4个数│←1│←─────↓3个数【参考程序】Varj:Integer;n,i,k,x,y,Number:Byte;Result:Array[1..25,1.

2、.25]ofByte;BeginWrite('N=');Readln(n);Forx:=1tondofory:=1tondoResult[x,y]:=0;{初始化数组}X:=0;Y:=N;i:=0;k:=N;j:=1;{j表示填数方向。从左→右或从上→下,j=1;否则j=-1}Whilei

3、ej:=1;{改变方向}Fori:=i+1toi+kdo{横向填k个数}Beginy:=y+j;Result[x,y]:=i;End;End;Forx:=1tondo{输出}例题分析-7-张晓刚第7页2021/6/13辅导教师:张晓刚BeginFory:=1tondoWrite(Result[x,y]:3);Writeln;End;End.问题2方阵填数2【题目】方阵填数:在一个N×N的方阵中,填入1,2,.....N×N个数,并要求构成如下的格式:N=4N=5134101341011259112591219681215681318207

4、1314167141721241516222325【算法分析】例如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]->a[2,3]->a[1,4]////坐标变化规律均是:在上一坐标基础上加1或减1 【参考程序】vara:array[1..20,1..20]ofinteger;n

5、,x,y,i,j,k,ii:integer;beginwriteln('inputn:');readln(n);{输入N}fillchar(a,sizeof(a),0);i:=0;x:=1;y:=1;k:=1;j:=1;{i:第i个数;x,y:坐标;k:每一斜行循环填的次数}{j:方向,由右上→左下,j=1;由左下→右上,j=-1}whilei<>n*ndobegin{未填完}forii:=1tokdobegin{每一斜行要填k个数}ifii>1thenbeginx:=x+j;y:=y-j;end;{斜行的头一个数,坐标不变}{其他的要在

6、原基础上根据方向j改动}inc(i);{i存放填的数字}a[x,y]:=i;{填于数组相应位置}end;{以下确定下一斜行的首坐标,填多少个数K(即循环次数K),方向j取反}ifj=-1theninc(y)elseinc(x);{根据上一斜行确定下一斜行的起始坐标}j:=-j;{方向取反}ify>nthenbeginy:=n;x:=x+1;end;{调整坐标,使之不出界}ifx>nthenbeginx:=n;y:=y+1;end;ifx+y<=n+1theninc(k)elsedec(k);{确定下一斜行要填多少个数}end;例题分析-7

7、-张晓刚第7页2021/6/13辅导教师:张晓刚fori:=1tondobeginforj:=1tondowrite(a[i,j]:4);writeln;end;{输出}end.问题3阶乘【题目】数学上定义:n!=1×2×3×...×(n-1)×n(N>0)0!=1若用integer型数据表示阶乘,最多可到7!,用Longint类型也只能到12!要求输入正整数n,求n!的精确表示【算法分析】用数组存放结果,模拟人工计算过程,逐位去乘,注意进位情况的处理。【参考程序1】constmax=1000;varn,i,j,jinwei,weishu

8、:integer;result:array[1..max]ofinteger;{result数组放结果}beginwriteln('inputn:');readln(n);{输入n}fillc

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。