绍兴市第七届少儿信息学竞赛复赛试题
第一题 13号星期几
(riqi.pas)
问题描述
请编程统计:从1900年1月1日(当天是星期一)开始经过的n年当中,每个月的13号这一天是星期一、星期二、星期三、……、星期日的次数分别是多少?
输入文件riqi.in:
共一行,一个整数n (1≤n≤400)。 输出文件riqi.out:
仅一行, 有7个整数(依次是星期一、星期二、星期三、……、星期日的次数),各数间以空格相隔。 样例
输入:
1 输出:
1 3 1 2 2 2 1
第二题 高兴的小明
(fhp.pas)
问题描述
1
今天,小明很高兴,因为国庆放假了,又恰逢是自己的生日。为了庆祝节日,小明与邻居的小伙伴共n个人相约一起放花炮。他们先同时放响了第一个花炮,随后n个人分别以A1、A2、A3、??An秒的间隔继续放花炮,到最后每人都放了b个花炮(包括第一个)。问:总共可听到多少声花炮响?
输入文件fhp.in:
共三行,第一行仅一个整数n(n<=10),第二行是A1、A2、A3、??An共n个整数(每个数<=100,各数间以空格相隔),第三行只有一个整数b(b<=100)。
输出文件fhp.out:
仅一行,一个整数(听到的花炮响声数)。 样例 输入:
3 1 2 3 4 输出: 7
第三题 摘彩球 (zcq.pas)
问题描述
2
今年是国庆60周年,学校少先队大队部举行了庆祝活动,其中有一项活动是摘彩球。大队辅导员在学校礼堂里高低不一地挂了N个彩球,请M位少先队员到礼堂里摘彩球。辅导员说:你们每人最多可以摘两个彩球,而且只许站着伸手摘,不允许借助其它工具,摘下的彩球归大家共有。由于各少先队员的身高参差不齐,怎样才能使他们摘的彩球总数最多呢?请你计算少先队员们最多能摘到多少个彩球?
输入文件zcq.in:共三行。 第
一
行
有
二
个
整
数
N
和
M(N<=100,M<=20),两数间用空格隔开。
第二行有 N个整数(各数间以空格相隔),分别表示每个彩球的高度。
第三行有M个整数(各数间以空格相隔),分别表示每个少先队员伸手能达到的高度。
输出文件zcq.out:仅一行,有一个整数,表示最多能摘到的彩球数。
样例 输入: 10 4
110 100 150 90 100 135 160 88 130 140 120 100 110 80
3
输出: 5
第四题 莱布尼茨三角形
(lbnc.pas)
问题描述
世界上著名的莱布尼茨三角形如图所示,请编程输出图中排在第n行从左边数第m个位置上的数。
输入文件lbnc.in:
共一行,有二个整数N 和M(N<=15),两数间用空格隔开。
输出文件lbnc.out:
共一行,有二个整数,两数间用“/”隔开,表示所求的分数。
4
样例 输入:7 3 输出:1/105 程序: riqi.pas: var
a:array[1..7]of longint; i,j,h,k,n,l:longint; begin
assign(input,'riqi.in'); assign(output,'riqi.out'); reset(input); rewrite(output); read(n);
h:=1900; n:=1900+n; repeat
for i:=1 to 12 do begin case i of
1,3,5,7,8,10,12:k:=31; 4,6,9,11:k:=30;
2:if (h mod 400=0) or (h 5
mod 100<>0) and (h mod 4=0) then k:=29