欢迎来到天天文库
浏览记录
ID:17504032
大小:1.40 MB
页数:13页
时间:2018-09-02
《青少年信息学奥林匹克初级竞赛辅导练习题》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、第一题(p236)问题描述:将键盘输入的字符串中所有的十进制数找出来,并求它们的和。输入:APPLE25,PEAR125屏幕输出:25+125=150输入:THISISABOOK屏幕输出:0第二题(p236)问题描述:求n!(n!=l×2×3×4×5×…×n)的精确值(n≤25)。输入:n=11屏幕输出:n!=39916800第三题(p236)问题描述;当输入正整数N时(02、84000127000011131.编-程序,由计算机随机产生十道10以内整数四则运算题,运算符由计算机随机产生,每做对-题加10分,并输出“GOOD"。做完后,输出对几题、错几题以及总分是多少。(p233)说明:变量A,B为运算数,变量C为运算符代码。2.输入一个正整数X,然后与它的倒序排列的数相加,求其结果。(p234)例如:正整数238,其倒序排列的数为832,其结果为238+832=1070。P28练习[例2]报数游戏(NOIP-TJ-2006小学组复赛题)。(p30)13小朋友都喜欢做游戏,今3、天就教大家一个游戏。游戏规则非常简单,基本描述如下:假设有n个小朋友玩这个游戏,那么我们把所有的人从1到n都逐一编好号码,以便游戏的开始。n个同学根据自己的编号按照顺时针顺序站成一个圈。如下图(以10人为例):11029384756现在从编号1的小朋友开始按照顺时针的方向报数,报数的规则是,我们只做1﹀2报数,也就是报完1再报2,然后再报1,再报2......。当有人报数报到2时,此人就输掉了游戏,必须离开,当某个人离开游戏后,大家仍然保持相对的位置继续报数,直到只有1个人剩下时才停止,这个人就是游戏的4、胜利者。我们由上图(以10人为例),可以得到依次离开游戏的顺序:2,4,6,8,10,3,7,1,9。最后胜利者为编号是5的小朋友。经过几次游戏,聪明的小明感觉到了其中是有规律的,他猜测如果已知参与游戏的人数,那么这个胜利者编号就是固定的,但是他却没有计算出来到底谁会赢得游戏。现在请你来帮助小明去计算到底谁是游戏的胜利者。每组数据都会告诉你参与这个游戏的人数n,并且n不会超过1000。请你对于每组数据都输出那个胜利者的编号。〔样例输入1]4f样例输出1)1(解释:离开游戏的顺序是:2,4,3。所以说剩下5、的编号为1的是胜利者。)〔样例输入2〕10〔样例输山2〕513(p34)(p34)(p34)(p34)(p34)(p34)13p40【例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产生6、两个数放置到序列的后面,按递增顺序排列。由于按表达式y=2x+1产生的数放置的位置可能不符合要求,使用插入排序法能很快调整递增顺序。在使用插入排序时,从后往前依次把数据后移,空出位置放置刚产生的整数。当发现新产生的数与序列中原有的某数相等时,要把原来后移的数据移回原处。p41〔例5〕数的计数(NOIP-2001)。我们要求找出具有下列性质的数的个数(包含输入的自然数n):先输入一个自然数n(n≤1000),然后对此自然数按照如下方法进行处理:1.不作任何处理;2.在它的左边加上一个自然数,但该自然数不能7、超过原数的一半;3.加上数后,继续按此规则进行处理,直到不能再加自然数为止。样例,输入:6输出:6即满足条件的数有6个(以下部分不必输出)。616261261336136[p56]【例2】从下列国家名称中找到以J打头的国家名称:China,Japan,America,India,Laos,DATAChina,Japan,America,India,LaosP101(2)用随机函数产生num个(1≤num≤100)9.17到917之间的实数(保留小数点后两位),并存放在数组x中,然后将前n个数颠倒排放。(8、3)对随机产生的100个0到50之间的随机整数用一个数组存放后进行排序,然后再将其中重复出现的数进行删除,只保留一个,使得剩下的数中任何两个都不相同且连续存储在原数组中(2002年江苏年江苏省小学生组试题)。(4)我们将左右对称的自然数称为回文数,例如:121,4114等;将只能被1与其本身整除的自然数称为素数,例如:7,353等。键入N,M,求出N至M(含N与M)之间既是回文数又是素数的自然数共有多少个,(2002年江苏省小学组试题)(5
2、84000127000011131.编-程序,由计算机随机产生十道10以内整数四则运算题,运算符由计算机随机产生,每做对-题加10分,并输出“GOOD"。做完后,输出对几题、错几题以及总分是多少。(p233)说明:变量A,B为运算数,变量C为运算符代码。2.输入一个正整数X,然后与它的倒序排列的数相加,求其结果。(p234)例如:正整数238,其倒序排列的数为832,其结果为238+832=1070。P28练习[例2]报数游戏(NOIP-TJ-2006小学组复赛题)。(p30)13小朋友都喜欢做游戏,今
3、天就教大家一个游戏。游戏规则非常简单,基本描述如下:假设有n个小朋友玩这个游戏,那么我们把所有的人从1到n都逐一编好号码,以便游戏的开始。n个同学根据自己的编号按照顺时针顺序站成一个圈。如下图(以10人为例):11029384756现在从编号1的小朋友开始按照顺时针的方向报数,报数的规则是,我们只做1﹀2报数,也就是报完1再报2,然后再报1,再报2......。当有人报数报到2时,此人就输掉了游戏,必须离开,当某个人离开游戏后,大家仍然保持相对的位置继续报数,直到只有1个人剩下时才停止,这个人就是游戏的
4、胜利者。我们由上图(以10人为例),可以得到依次离开游戏的顺序:2,4,6,8,10,3,7,1,9。最后胜利者为编号是5的小朋友。经过几次游戏,聪明的小明感觉到了其中是有规律的,他猜测如果已知参与游戏的人数,那么这个胜利者编号就是固定的,但是他却没有计算出来到底谁会赢得游戏。现在请你来帮助小明去计算到底谁是游戏的胜利者。每组数据都会告诉你参与这个游戏的人数n,并且n不会超过1000。请你对于每组数据都输出那个胜利者的编号。〔样例输入1]4f样例输出1)1(解释:离开游戏的顺序是:2,4,3。所以说剩下
5、的编号为1的是胜利者。)〔样例输入2〕10〔样例输山2〕513(p34)(p34)(p34)(p34)(p34)(p34)13p40【例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产生
6、两个数放置到序列的后面,按递增顺序排列。由于按表达式y=2x+1产生的数放置的位置可能不符合要求,使用插入排序法能很快调整递增顺序。在使用插入排序时,从后往前依次把数据后移,空出位置放置刚产生的整数。当发现新产生的数与序列中原有的某数相等时,要把原来后移的数据移回原处。p41〔例5〕数的计数(NOIP-2001)。我们要求找出具有下列性质的数的个数(包含输入的自然数n):先输入一个自然数n(n≤1000),然后对此自然数按照如下方法进行处理:1.不作任何处理;2.在它的左边加上一个自然数,但该自然数不能
7、超过原数的一半;3.加上数后,继续按此规则进行处理,直到不能再加自然数为止。样例,输入:6输出:6即满足条件的数有6个(以下部分不必输出)。616261261336136[p56]【例2】从下列国家名称中找到以J打头的国家名称:China,Japan,America,India,Laos,DATAChina,Japan,America,India,LaosP101(2)用随机函数产生num个(1≤num≤100)9.17到917之间的实数(保留小数点后两位),并存放在数组x中,然后将前n个数颠倒排放。(
8、3)对随机产生的100个0到50之间的随机整数用一个数组存放后进行排序,然后再将其中重复出现的数进行删除,只保留一个,使得剩下的数中任何两个都不相同且连续存储在原数组中(2002年江苏年江苏省小学生组试题)。(4)我们将左右对称的自然数称为回文数,例如:121,4114等;将只能被1与其本身整除的自然数称为素数,例如:7,353等。键入N,M,求出N至M(含N与M)之间既是回文数又是素数的自然数共有多少个,(2002年江苏省小学组试题)(5
此文档下载收益归作者所有