第一范文网 - 专业文章范例文档资料分享平台

(信息学奥赛辅导)程序设计试题汇编(答案)

来源:用户分享 时间:2025/7/10 15:38:25 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

师大附中 信息学奥林匹克竞赛辅导——程序设计试题答案部分 第29页

t:=0;

for k:=1 to 9 do t:=t+a[k];

if t=9 then writeln(i:4,i*2:4,i*3:4); end; end.

4、 回文算术:任给一个三位数abc,算出abc与cba之和。若该和数不是回文数(回文数的定义是

从左读和从右读一样,如5、121、1221等),再按上述方法求和。以此类推,直到得到回文形式的和数或者和数的位数已经超过15位时中止计算。

(★★★)

(分析:注意此题中处理回文数判断的方法和处理数组高精度加法的方法) program e; var

a,b:array[1..20] of integer; x,i,m:integer; hw:boolean; begin

writeln; write('abc='); readln(x); for i:=1 to 15 do a[i]:=0;

a[1]:=x mod 10; a[2]:=(x div 10) mod 10; a[3]:=x div 100; m:=3; hw:=false;

while (hw=false)and(m<15) do begin

for i:=1 to m do b[i]:=a[m-i+1]; i:=1;

while (i<=m)and(a[i]=b[i]) do i:=i+1; if i>m then hw:=true else begin

for i:=m downto 1 do write(a[i]); write('+');

for i:=m downto 1 do write(b[i]); write('=');

for i:=1 to m do

begin a[i]:=a[i]+b[i]; a[i+1]:=a[i+1]+a[i] div 10; a[i]:=a[i] mod 10; end; if a[m+1]>0 then m:=m+1;

for i:=m downto 1 do write(a[i]); writeln; end; end;

if hw then writeln('success!') else writeln('Fail!'); end.

5、 求一个n×n数阵中的马鞍数,输出它的位置。所谓马鞍数,是指在行上最小而在列上最大的数。

(★★)

(测试数据:(矩阵1)

(矩阵2)

师大附中 信息学奥林匹克竞赛辅导——程序设计试题答案部分 第30页

15 11 22 17 13

4 9 3 1 10

14 23 21 24 19

25 16 18 12 20

7 8 5 6 2

11 5 3 17 13

4 9 22 16 10

2 23 21 24 19

7 1 18 12 20

8 25 15 6 14

program e; const n=5; var

i,j,min,x,y:integer; flag:boolean;

a:array[1..n,1..n] of integer; begin

writeln; writeln('input ',n,'*',n,' integer number:'); for i:=1 to n do for j:=1 to n do read(a[i,j]); flag:=false; for i:=1 to n do begin

min:=a[i,1]; x:=i; y:=1; for j:=1 to n do

if a[i,j]

if a[j,y]>a[x,y] then break;

if (j=n)and(a[x,y]>a[n,y]) then begin write(a[x,y],'(',x,',',y,')'); flag:=true; end; end;

if flag=false then writeln('No find!'); end.

6、 数学黑洞6174。已知:一个任意的四位正整数(全相同的除外,如1111)。将数字重新组合成一

个最大的数和最小的数相减,重复这个过程,最多七步,必得6174。即:7641-1467=6174。将永远出不来。

求证:所有四位数数字(全相同的除外),均能得到6174。输出掉进黑洞的步数。 (★★★) program e18; var

a:array[1..4] of integer; i,j,d,k:integer; begin

writeln('input a si wei shu:'); read(d);

if (d mod 1111<>0) then while d<>6174 do begin

师大附中 信息学奥林匹克竞赛辅导——程序设计试题答案部分 第31页

a[1]:=d div 1000; a[2]:=(d mod 1000) div 100; a[3]:=(d mod 100) div 10; a[4]:=d mod 10; for i:=1 to 4 do for j:=i+1 to 4 do if a[i]

k:=a[i]; a[i]:=a[j]; a[j]:=k; end;

d:=1000*a[1]+100*a[2]+10*a[3]+a[4]-1000*a[4]-100*a[3]-10*a[2]-a[1];

writeln(1000*a[1]+100*a[2]+10*a[3]+a[4],'-',1000*a[4]+100*a[3]+10*a[2]+a[1],'=',d); end; end.

(以下程序设计试题来自《青少年信息学竞赛题库》)

(★)

1、 输入10个正整数,计算它们的和,平方和。

program I_1; var

i,s,d,p:integer; begin

writeln('input ten positive number:'); s:=0; p:=0; for i:=1 to 10 do begin

read(d);

s:=s+d; p:=p+d*d; end; writeln;

write(s:8,p:8); end.

2、 统计1——999中能被3整除,且至少有一位数字是5的数。

(答案:91)

(★)

program I_4; var

i,s:integer; begin

writeln; s:=0; for i:=1 to 999 do begin

if(i mod 3 = 0) and ((i mod 10 = 5) or ((i div 10) mod 10 =5) or ((i div 100)=5)) then begin write(i:8); s:=s+1; end; end;

writeln; write(s:8); end.

3、 从键盘输入一个20~50之间的整数,统计出边长为整数,周长为输入数的不等边三角形的个数。

(测试数据:输入27,

输出18)

(★★)

师大附中 信息学奥林匹克竞赛辅导——程序设计试题答案部分 第32页

program I_9; var

x,y,z,k,s:integer; begin

writeln; writeln('input a integer number(20

for x:=1 to (s div 3) do

for y:=x to ((s-x) div 2) do begin

z:=s-x-y;

if (x+y)>z then begin

writeln(x:4,y:4,z:4); k:=k+1; end; end;

if (s mod 3)=0 then k:=k-1; write(k); end.

4、 一个整数的立方可以表示为两个整数的平方差,如19853=19711052-19691202。

编程:输入一个整数N,自动将其写成N3=X2-Y2。

(★★★)

(提示:N3=X2-Y2=(X+Y)(X-Y),所以必有(X-Y)=N,(X+Y)=N2。) (测试数据:N=2004; 答案20043=20090102-20070062) program I_13; var

n,x,y:longint; begin

writeln; read(n);

for y:=1 to maxlongint do begin x:=y+n;

if (n*n=x+y) then begin writeln(n,'^3=',x,'^2-',y,'^2'); exit; end; end; end.

5、 任意给定平面上三个点A(X1,Y1),B(X2,Y2),C(X3,Y3),试判断这三个点能否构成三

角形。能则求出它的面积。 ★)

(测试数据:

program I_16;

var

x1,y1,x2,y2,x3,y3,a,b,c,d,e,k:real; begin

writeln; write('input X1,Y1 X2,Y2 X3,Y3:'); read(x1,y1,x2,y2,x3,y3);

(★

(信息学奥赛辅导)程序设计试题汇编(答案).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c2jbwz50yqg862m61dlal_8.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top