试卷 合肥第35届青少年信息学(计算机)竞赛小学组市赛真题
合肥第35届青少年信息学(计算机)竞赛小学组市赛真题
编程题
第 1 题    问答题

三角形(triangle

小朋友们都知道,三角形任意两边之和都大于第三边,这也是三条线段是否能构成三角形的一个必要条件,已知三条线段的长度,请同学们帮忙判断是否满足这个必要条件。


输入:输入数据共 n+1 行,第一行有一个正整数 n,表示有 个三条线段。接下 行,每行三个正整数,分别用一个空格分开。


输出:共 行,每行一个数  0表示对应的三条线段满足构成三角形的一个必要条件,表示对应的三条线段不满足构成三角形的一个必要条件。


样例 1

输入:(triangle.in

1

3 4 5

输出:(triangle.out

1


样例 2

输入:(triangle.in

2

3 4 5

1 2 3

输出:(triangle.out

1

0

数据范围:

1n100 1≤边长≤100

第 2 题    问答题

成绩统计(score)

Hf市中小学刚刚结束期中测试,信息学老师想统计全市学生信息学成绩的得分情况,即某些分数的人数,以便改进教学内容和方法,提高同学们的信息学成绩,同学们写个程序,帮助老师实现吧。


输入:输入数据共 行。第一行两个由空格分隔的正整数  k表示全市所有学生的人数,表示老师想要统计 个分数的人数,接下来一行共有 n个由空格分隔的正整数,表示每一位学生的成绩,第三行有 个由空格分 隔的正整数,表示想要统计的 个分数。


输出:一行 个由空格分隔的正整数,对应每个得分的学生数。


样例:

输入:(score.in

10 3

90 96 60 65 67 72 75 75 80 85

65 75 95

输出:(score.out

1 2 0

数据范围:

1n10000000 0k,每个分数100

第 3 题    问答题

卡拉兹猜想(callatz)

卡拉兹在 1950 年的世界数学家大会上公布了著名的卡拉兹猜想,即对任何一个正整数 n,如果它是偶数,那么把它砍掉一半;如果它是奇数,那 (3n+1) 砍掉一半。这样一直反复砍下去,最后一定在某一步得到 n=1。,传说当时耶鲁大学师生齐动员,拼命想证明这个貌似很傻很天真的命题,结果闹得学生们无心学业,甚至有人说这是一个阴谋,是在蓄意延缓美国数学的发展和进步。


同学们,对于给定的任一不超过 1000 的正整数 n,请计算需要多少步(砍几下)才能得到 n=1


输入:输入数据只有一行一个正整数 n


输出:一个正整数 k,表示需要 步才能得到 n=1


样例 1

输入:(callatz.in

3

输出:(callatz.out

5

数据范围:

1≤≤n1000

第 4 题    问答题

力量对比(power)

在拔河比赛中,小胖的力量特别大,一人的力量能抵得过两人的力量,凭借着小胖的出色发挥,他所在的红队最终赢得了胜利。在拔河比赛中,这样的小胖越多越好啊,而体育老师想知道有多少位这样的小胖呢。假如我们给出所有学生的力量值,且任意两位学生的力量是不同的。如何能快速知道有多少位这样的小胖呢。


输入: 输入共两行,第一行是一个正整数 n,表示共有 位同学。接下来一行为由空格分割的 个正整数,分别表示每一位同学的力量值。


输出:只有一个正整数,为满足条件的数目。


样例 1

输入:(power.in

4

3 2 1 5

输出:(power.out


2

样例说明:因为 3=1+2;5=2+3,所以输出为 2

样例 2


输入:(power.in

70

97 51 57 30 94 3 23 77 72 92 38 8 46 41 37 70 27 26 28 39 32 54 49 9 68 16 42 6 40 90 59 99 36 98 13 55 76 18 24 20 21 85 17 19 43 93 63 29 33 12 62 83 91 73 34 1 81 14 89 53 75 84 52 67 44 100 66 25 47 10 


输出:(power.out)

66

数据范围:

1n1000 0<序列中每个数≤1000

答题卡
编程题
1 2 3 4
题目总数:4
总分数:100
时间:120分钟