青岛市程序设计竞赛试题.docx
- 文档编号:28714555
- 上传时间:2023-07-19
- 格式:DOCX
- 页数:38
- 大小:198.96KB
青岛市程序设计竞赛试题.docx
《青岛市程序设计竞赛试题.docx》由会员分享,可在线阅读,更多相关《青岛市程序设计竞赛试题.docx(38页珍藏版)》请在冰豆网上搜索。
青岛市程序设计竞赛试题
2006年青岛市程序设计竞赛试题(小学组)
说明:
1、必须以题目中规定的文件名进行保存,并用FTP上传到指定文件夹中。
FTP上传使用说明在试题最后。
请选手每做完一道题及时上传一次,以确保因机器故障引起的文件丢失。
2、比赛时间为:
60分钟,试题100分。
3.使用竞赛规定的文件格式输入、输出。
第1题数字分离(程序文件名A1.PAS,20分)
从键盘输入一个三位数n(100≤n≤999)判断其个位数字、十位数字、百位数字之和是否等于15,若等于15,则输出“1”,否则输出“0”。
输入(a1.in):
一行,三位数n(100≤n≤999)
输出(a1.out):
一行,若等于15则输出1,否则输出0
样例:
输入:
690
输出:
1
输入:
710
输出:
0
第2题编程实现(程序文件名A2.PAS,20分)
找出1至n(10≤n≤1000)之间不能被2,3,5,7除尽的整数的个数。
输入(a2.in):
一行,n(10≤n≤1000)
输出(a2.out):
一个正整数,满足条件的个数
样例:
输入:
13
输出:
3
第3题求一个十进制数的三进制表示(程序文件名A3.PAS,20分)
从键盘读入一个十进制整数n(n≤20),要求编程计算求出n的三进制表示。
注:
将十进制数转换为三进制的方法为:
除三取余,余数倒取
除数被除数余数
转换示例352
11
0
输入(a3.in):
一行,n(n≤20)
输出(a3.out):
一行,n的三进制表示
样例:
输入:
5
输出:
12
第4题级数求和(程序文件名A4.PAS,20分)
已知sn=1+1/2+1/3+……+1/n,显然对于任意一个正整数k,当n足够大的时候,sn大于k,现在给出一个正整数k(1≤k≤15),要求计算出一个最小的n使sn大于k。
输入(a4.in):
一行,k(1≤k≤15)
输出(a4.out):
一行,满足要求的n
样例:
输入:
2
输出:
4
第5题产生数(程序文件名A5.PAS,20分)
给出一个数n(n≤1030)和k个变换规则(k≤15)
规则:
1位数可变换成另一个1位数;规则的右部不能为零。
例如:
n=234,有规则(k=2);
2→5,3→6
上面的整数234经变换后可能产生出的整数(包括原数);
234
534
264
564
共4种不同的产生数
问题:
给出一个整数n和k个规则。
求出:
经过任意次的变换(0次或多次),能产生出多少个不同的整数。
仅要求输出个数。
输入(a5.in):
第一行,两个数n、k,中间用空格隔开
第二行存放两个数,中间用空格隔开,表示一个变换规则,在随后的k-1行中,每行都有2个数,中间用空格隔开,表示k条变换规则。
输出(a5.out):
一行,满足要求的数的个数
样例:
输入:
2342
25
36
输出:
4
ftp上传使用说明
第一步:
打开IE浏览器,在地址栏内输入ftp:
//10.0.3.4(小学、初中组)或ftp:
//10.0.2.101(高中组),出现登录窗口。
第二步:
用户名为参赛选手本人的考试号,无须输入密码。
第三步:
登录后,将本人编写的程序拖放(复制粘贴)到浏览器窗口。
拖放过程中会出现传送进度条,进度条结束即上传完毕(一旦发现问题请及时咨询监考老师)。
2011年青岛市程序设计试题
(比赛时间60分钟,试题满分100分)
说明:
1、必须以题目中规定的文件名进行保存,并用ftp上传到指定文件夹中。
ftp上传使用说明在试题最后,请选手每做完一道题及时上传一次,以确保因机器故障引起的文件丢失。
2.使用竞赛规定的文件格式输入、输出。
(1)对于使用pascal语言的选手,请参照以下格式使用文件输入输出:
Begin
Assign(input,’输入文件名’);assign(output,‘输出文件名’);
Reset(input);rrewrite(output);
……
Close(input);close(output);
End.
(2)对于c或c++选手,如果尚未掌握文件输入输出,请参考以下我们提供的一种方法进行文件输入输出。
在主函数即main()的开始部分加入以下代码:
Freopen(“输入文件名”,”r”,stdin);
Freopen(“输出文件名”,“w”,stdout);
程序结束时无须像pascal选手一样,关闭文件,系统将自动关闭读写的文件。
对于c选手,请调用头文件 stdio.h
对于c++选手,请调用头文件 iostream
第1题 水仙花数(程序文件名a1.pas,20分)
有一些100-999之间的整数具有这样的性质,该数的各位数字的立方之和等于该数本身,这种数人们把它称为水仙花数。
例如153是个水仙花数,因为13+53+33=153。
编程输入一三位正整数N(100<=n<=999),判断是否是水仙花数,如是输出整数1,不是输出整数0。
输入(A1.in):
一行,一个整数n(100<=n<=999)
输出(a1.out):
一行,一个整数。
若N是水仙花数则输出1,否则输出0。
样例1:
输入153
输出1
样例2:
输入:
200
输出:
0
参考答案:
programa1;
vara,b,c,n:
integer;
input,output:
text;
begin
assign(input,'a1.in');
assign(otuput,'a1.out');
reset(input);
rewrite(output);
read(input,n);
a:
=ndiv100;
b:
=nmod100div10;
c:
=nmod10;
ifa*a*a+b*b*b+c*c*c=nthenwrite(output,1)
elsewrite(output,0);
close(input);
close(output);
end.
第2题:
走阶梯(程序文件名a2.pas,20分)
有一个长阶梯,如果每步跨2阶最后剩1阶,如果每步跨3阶最后剩2阶,如果每步跨4阶最后剩3阶,如果每步跨5阶最后剩4阶,如果每步跨6阶最后剩5阶,只有当每步跨7阶时恰好走完,问这个阶梯有多少阶?
输出(a2.out):
一行,要求统计的结果。
参考答案:
programa2;
vari:
integer;
output:
text;
begin
assign(output,'a2.out');
rewrite(output);
fori:
=1to1000do
if(imod2=1)and(imod3=2)and(imod4=3)and(imod5=4)and(imod6=5)and(imod7=0)thenwrite(output,i);
close(output);
end.
第3题:
摘红苹果(程序文件名a3.pas,20分)
小明爷爷家有棵苹果树,树上高低不一的长了n个红苹果。
一天,m个小朋友到爷爷家做客,爷爷说:
你们每人最多可以摘两个红苹果,而且只许伸手摘,不允许借助其它工具,摘下的苹果大家分享。
由于小朋友的身高参差不齐,怎样才能使他们摘的苹果总数最多呢?
请你计算小朋友们最多能摘到多少个苹果?
输入(a3.in):
第1行,两个用空格隔开的整数n和m(n<=100,m<=20);
第2行,n个用空格隔开的整数,分别表示每个苹果的高度;
第3行,m个用空格隔开的整数,分别表示每个小朋友伸手能达到的高度(到达苹果即可摘到)。
输出a3.out:
一行,一个整数,小朋友们最多能摘到的苹果数。
样例:
输入 10 4
1101001509010013516088130140
12010011080
输出:
5
参考答案:
programa3;
varm,n,i,j,c,d:
integer;
a,b:
array[1..1000]ofinteger;
input,output:
text;
begin
assign(input,'a3.in');
assign(output,'a3.out');
reset(input);
rewrite(output);
read(input,n,m);
fori:
=1tondo
read(input,a[i]);
fori:
=1tomdo
read(input,b[i]);
fori:
=1tom-1do
forj:
=i+1tomdo
ifb[i]>b[j]thenbegin
c:
=b[i];
b[i]:
=b[j];
b[j]:
=c;
end;
fori:
=1tomdo
begin
c:
=0;
forj:
=1tondo
if(b[i]>=a[j])and(c<2)thenbegin
c:
=c+1;
a[j]:
=10000;
d:
=d+1;
end;
end;
write(output,d);
close(input);
close(output);
end.
第4题 找字符(程序文件名a4.pas,20分)
有一天,小明编一个程序,能很快找出一个字符串中出现次数最多的字符,你能做到吗?
输入a4.in:
一个由26个大写字母组成的字符串(长度不超过50)
输出a4.out:
按字符在字符串中出现的先后顺序,显示出现次数最多的字符
样例:
输入:
ACABBCCDDBA
输出:
CB
参考答案:
programa4;
var
input,output:
text;
a:
array['A'..'Z'] ofinteger;
t,i:
integer;
k,j,l:
char;
b,st:
string;
begin
assign(input,'a4.in');
assign(output,'a4.out');
reset(input);
rewrite(output);
writeln(output);
readln(input,st);
fori:
=1tolength(st)do
forj:
='A'to'Z'do
ifst[i]=jthen a[j]:
=a[j]+1;
t:
=a['A'];
forj:
='A' to'Z'do
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 青岛市 程序设计 竞赛 试题