- 12
- 0
- 约 13页
- 2017-02-04 发布于北京
- 举报
青少年信息学奥林匹克初级竞赛覆慰绩导练习题
第一题(p236)
问题描述:将键盘输入的字符串中所有的十进制数找出来,并求它们的和。
输入:APPLE 25, PEAR 125
屏幕输出:25+125=150
输入:THIS IS A BOOK
屏幕输出:0
第二题(p236)
问题描述:求n!(n!=l×2×3×4×5×…×n)的精确值(n≤25 )n=11
屏幕输出:n!
第三题(p236)
问题描述;当输入正整数N时(0N≤10),N=3
屏幕输出:
6 3 1
0 5 2
0 4
输入:N=5
屏幕输出:
15 10 6 3 1
0 14 9 5 2
0 0 13 8 4
0 0 0 12 7
0 0 0 0 11
1.编-程序,由计算机随机产生十道10以内整数四则运算题,运算符由计算机随机产生,每做对-题加10分,并输出“GOOD。做完后,输出对几题、错几题以及总分是多少。(p233)
说明:变量A, B为运算数,变量C为运算符代码。
2.输入一个正整数X,然后与它的倒序排列的数相加,求其结果。(p234)
例如:正整数238,其倒序排列的数为832,其结果为238+832=1070。
P28练习
[例2]报数游戏(NOIP-TJ-2006小学组复赛题)。(p30)
小朋友都喜欢做游戏,今天就教大家一个游戏。游戏规则非常简单,基本描述如下:假设有n个小朋友玩这个游戏,那么我们把所有的人从1到n都逐一编好号码,以便游戏的开始。n个同学根据自己的编号按照顺时针顺序站成一个圈。如下图(以10人为例):
1
10 2
9 3
8 4
7 5
6
现在从编号1的小朋友开始按照顺时针的方向报数,报数的规则是,我们只做1﹀2报数,也就是报完1再报2,然后再报1,再报2......。当有人报数报到2时,此人就输掉了游戏,必须离开,当某个人离开游戏后,大家仍然保持相对的位置继续报数,直到只有1个人剩下时才停止,这个人就是游戏的胜利者。我们由上图(以10人为例),可以得到依次离开游戏的顺序:2, 4, 6, 8, 10, 3, 7, 1, 9。最后胜利者为编号是5的小朋友。
经过几次游戏,聪明的小明感觉到了其中是有规律的,他猜测如果已知参与游戏的人数,那么这个胜利者编号就是固定的,但是他却没有计算出来到底谁会赢得游戏。现在请你来帮助小明去计算到底谁是游戏的胜利者。
每组数据都会告诉你参与这个游戏的人数n,并且n不会超过1000。请你对于每组数据都输出那个胜利者的编号。
〔样例输入1]
4
f样例输出1)
1
(解释:离开游戏的顺序是:2, 4, 3。所以说剩下的编号为1的是胜利者。)
〔样例输入2〕
10
〔样例输山2〕
5
(p34)
(p34)
(p34)
(p34)
(p34)
(p34)
p40
【例4】产生整数序列。
编程按递增顺序产生序列{M}中最小的100个整数。{M}定义如下:
1)整数1属于{M};
2)如果x属于{M},则y=2x+1, y=3x+1也属于{M};
3)除了上述两个条件外,再无其他整数属于{M}.
分析:显然整数序列{M}是按递推定义的。现在要按递增顺序产生序列{M}中最小的100个整数。首先把数1放入到{M}中,然后按y=2x+1, y=3x+1产生两个数放置到序列的后面,按递增顺序排列。
由于按表达式y=2x+1产生的数放置的位置可能不符合要求,使用插入排序法能很快调整递增顺序。在使用插入排序时,从后往前依次把数据后移,空出位置放置刚产生的整数。当发现新产生的数与序列中原有的某数相等时,要把原来后移的数据移回原处。
p41
〔例5〕数的计数(NOIP-2001)。我们要求找出具有下列性质的数的个数(包含输入的自然数n):
先输入一个自然数n (n ≤ 1000),然后对此自然数按照如下方法进行处理:1.不作任何处理;
2.在它的左边加上一个自然数,但该自然数不能超过原数的一半;
3.加上数后,继续按此规则进行处理,直到不能再加自然数为止。
样例,输入:6
输出:6
即满足条件的数有6个(以下部分不必输出)。
6
16
26
126
36
136
[p56]
【例2】从下列国家名称中找到以J打头的国家名称:
China,Japan,America,India,Laos,
DATA China,Japan,America,India,Laos
P101
(2)用随机函数产生num个(1≤num≤100)9.17到91
原创力文档

文档评论(0)