1、信息学奥赛题库说课材料一、 初级编程入门题顺序结构1、请编写一个程序,求一个正方的周长。2、请编写一个程序,求一个长方形的周长。3、请编写一个程序,求一个三角形的周长。 4、请编写一个程序,从键盘输入两个整数,要求求和然后输出和。例如: 输入 1 4 输出 55、要求从键盘输入一个三位数,要求百位变十位,十位变个位,个位变百位:例如: 输入 123 输出 3126、输入一个四位数要求按如下交换输出:例如 :输入 1234 输出 43217、输入一个四位数要求输入各位数字的和。例如: 输入 4567 输出 228、编一程序,键盘输入整数A,B的值,然后打印A除以B的商的整数部分及余数。9、输入一
2、个时、分、秒,把它转换为一个秒数。例如 输入 2 3 4 代表2小时3分钟4秒 输出 7384 代表一共有7384 秒10、求三角形面积:给出三角形的三个边长为a,b,c,求三角形的面积。 提示:根据海伦公式来计算三角形的面积: S;Area11、编一程序,从键盘输入整数A,B的值,然后把A,B的值交换后输出。从键盘输入两个整数,打印出更小的那个数。12、设X,Y,Z的值分别是FALSE,TRUE,FLASE。写出下列逻辑表达式的值:not x and not y;true and x or y;(x and z) or (z and y);x or z and y;(45) and (79)
3、 or( 910) 2 and (3=3) or (37)选择结构13、读入三个整数,从小到大输出。14、从键盘输入一个数,判断它的奇偶性,如果是奇数则输出yes,否则输出no。 15、从键盘读入一个数,判断它的正负。是正数,则输出+,是负数,则输出-。 16、从键盘输入一个数,如果是两位数那么输入yes否则输入no。17、输入两个数a,b,输出较大数的平方值。18、铁路托运行李规定:行李重不超过50公斤的,托运费按每公斤0.15元计费;如超50公斤,超过部分每公斤加收0.10元。编一程序完成自动计费工作。19、某超市为了促销,规定:购物不足60元的按原价付款,超过60不足200的按九折付款,
4、超过200元的,超过部分按八折付款。编一程序完成超市的自动计费的工作。 20、打印某年某月有多少天。(提示:A、闰年的计算方法:年数能被4整除,并且不能被100整除;或者能被400整除的整数年份。B、利用MOD运算可以判断一个数能否被另一个数整除)。21、编写一个程序,功能是从键盘输入一个整数,判断它是否二位数,如果是,就打印它,然后结束程序, 22、编写一个程序,功能是从键盘输入三个整数,打印出其中最大的一个值。 23、当前小学生的成绩单由以前的百分制改为优秀、良好、合格、不合格四个等级的等级制。编一程序完成分数的自动转换工作。转换规则如下:60分以下的为不合格;60到69分为合格;70到8
5、9分为良好;90分以上的为优秀。(提示:可以利用DIV运算来使程序更简明)循环结构分别用repeat,while循环做以下习题。24、计算11000之间能同时被3和5整除的整数的和。25、求所有的三位数中十位数能被个位数和百位数之和整除的数。26、求水仙花数。所谓水仙花数,是指一个三位数abc,如果满足a3+b3+c3=abc,则abc是水仙花数。27、求所有满足条件的四位数: (1)这四位数是11的倍数; (2)b+c=a; 28、计算下列式子的值:28a (1)1+3+99 28b (2)1+2+4+8+1024 29、输入一个整数,计算它各位上数字的和。(注意:是任意位的整数)30、输入
6、一整数A,判断它是否质数。(提示:若从2到A的平方根的范围内,没有一个数能整除A,则A是质数。)用for循环做以下习题31、13+5+.+.99=? 32、1+1/2+1/3+1/4+1/100=? 33、1*2+2*3+3*4+n*(n+1)=? 34、1+1/2!+1/3!+.1/n!=?35、求水仙花数。所谓水仙花数,是指一个三位数abc,如果满足a3+b3+c3=abc,则abc是水仙花数。36、输入一整数A,判断它是否质数。(提示:若从2到A的平方根的范围内,没有一个数能整除A,则A是质数。)37、1+(1+3)+(1+3+5)+ (1+3+5+n)?n为奇数。38、s=-1+3-5
7、+7-9+n n为奇数。二、综合练习题39、计算下列式子的值:(1)1+2+1000 1a(2)1+3+5+97+99 2a (3)1+2+4+8+1024 3a 40、输入一个四位数,求它各位上数字的和。41、求所有的三位数中十位数能被个位数和百位数之和整除的数。42、求水仙花数。所谓水仙花数,是指一个三位数abc,如果满足a3+b3+c3=abc,则abc是水仙花数。43、 求所有满足条件的四位数: (1)这四位数是11的倍数; (2)b+c=a; 44、输入一个整数,计算它各位上数字的和。(注意:是任意位的整数) 45、输入一整数A,判断它是否质数。(提示:若从2到A的平方根的范围内,没
8、有一个数能整除A,则A是质数。)46、求两个数的最小公倍数和最大公约数。(提示:公约数一定小于等于两数中的小数,且能整除两数中的大数。公倍数一定大于等于两数中的大数,且是大数的倍数,又能给两数中的小数整除。)47、编写一个译码程序,把一个英语句子译成数字代码。译码规则是以数字1代替字母A,数字2代替字母B,26代替字母Z,如遇空格则打印一个星号*,英文句子以.结束。48、“百钱买百鸡”是我国古代的著名数学题。题目这样描述:3文钱可以买1只公鸡,2文钱可以买一只母鸡,1文钱可以买3只小鸡。用100文钱买100只鸡,那么各有公鸡、母鸡、小鸡多少只?与之相似,有鸡兔同笼问题。49、输入一个正整数N,
9、把它分解成质因子相乘的形式。 如:36=1 X 2 X 2 X 3 X 3; 19=1 X 19 50、判断一字符串是否是回文数,如121、12321、ABA等(字符串输入时以.结束)。如输入:12321.输出:yes51、打印下列图案:(输入N值来控制图案的规模,下列图案均以N=3为例) #*#*#* & &* 51a 51b 51c 51d52、计算11000之间能同时被3和5整除的整数的和。53、打印下列图形: 1 121 12321 1234321 12321 121 154、一百匹马驮一百块瓦,一匹大马可以驮3块,一匹母马可驮2块,小马2匹可驮1块。试编程求需要各种马多少匹?55、有
10、三种纪念邮票,第一种每套一张售价2元,第二种每套一张售价4元,第三种每套9张售价2元。现用100元买了100张邮票,问这三种邮票各买几张?56、赵、钱、孙、李、周五人围着一张圆桌吃饭。饭后,周回忆说:“吃饭时,赵坐在钱旁边,钱的左边是孙或李”;李回忆说:“钱坐在孙左边,我挨着孙坐”。结果他们一句也没有说对。请问,他们在怎样坐的?57、找数。一个三位数,各位数字互不相同,十位数字比个位、百位数字之和还要大,且十位、百位数字之和不是质数。编程找出所有符合条件的三位数。 注:1. 不能手算后直接打印结果。 2. “质数”即“素数”,是指除1和自身外,再没有其它因数的大于1的自然数。58、选人。一个小
11、组共五人,分别为A、B、C、D、E。现有一项任务,要他们中的3个人去完成。已知:(1)A、C不能都去;(2)B、C不能都不去;(3)如果C去了,D、E就只能去一个,且必须去一个;(4)B、C、D不能都去;(5)如果B去了,D、E就不能都去。编程找出此项任务该由哪三人去完成的所有组合。59、输入一个字符串,内有数字和非数字字符。如A123X456Y7A,302ATB567BC,打印字符串中所有连续(指不含非数字字符)的数字所组成的整数,并统计共有多少个整数。60、甲、乙、丙、丁四人共有糖若干块,甲先拿出一些糖分给另外三人,使他们三人的糖数加倍;乙拿出一些糖分给另外三人,也使他们三人的糖数加倍;丙
12、、丁也照此办理,此时甲、乙、丙、丁四人各有16块,编程求出四个人开始各有糖多少块。61、截数问题: 任意一个自然数,我们可以将其平均截取成三个自然数。例如自然数135768,可以截取成13,57,68三个自然数。如果某自然数不能平均截取(位数不能被3整除),可将该自然数高位补零后截取。现编程从键盘上输入一个自然数N(N的位数12),计算截取后第一个数加第三个数减第二个数的结果。62、从键盘输入一段英文,将其中的英文单词分离出来:已知单词之间的分隔符包括空格、 问号、句号(小数点)和分号。 例如:输入:There are apples; oranges and peaches on the ta
13、ble. 输出:there are apples oranges and peaches on the table63、A,B,C,D,E五个人合伙夜间捕鱼,凌晨时都疲惫不堪,各自在河边的树丛中找地 方睡着了,日上三竿,E第一个醒来,他将鱼数了数,平分成五分,把多余的一条扔进河中, 拿走一份回家去了,D第二个醒来,他并不知道有人已经走了,照样将鱼平分成五分,又扔 掉多余的一条,拿走自己的一份,接着C,B,A依次醒来,也都按同样的办法分鱼(平分成 五份,扔掉多余的一条,拿走自己的一份),问五人至少合伙捕到多少条鱼。 也许你能用数学办法推出鱼的条数,但我们的要求你编出一个程序,让计算机帮你算出鱼的
14、总数。64、试编程找出能被各位数字之和整除的一切两位数。65、一个正整数的个位数字是6,如果把个位数字移到首位,所得到的数是原数的4倍,试编程找出满足条件的最小正整数。66、某本书的页码从1开始,小明算了算,总共出现了202个数1,试编程求这本书一共有多少页?67、从键盘上输入两个不超过32767的整数,试编程序用竖式加法形式显示计算结果。例如: 输入 123, 85 显示: 123 + 85 - 20868、有30个男人女人和小孩同在一家饭馆进餐,共花了五十先令,其中男宾3先令,女宾2先令,小孩1先令。试编程求出男人女人小孩各多少人? 69、找出100到999之间的整数中所有等于它每位数字立
15、方和的数 70、求所有满足条件的四位数: (1)这四位数是11的倍数; (2)a,b,c,d均是小于10 的互不相等的自然数; (3)b+c=a; (4)bc是完全平方数. 71、已知四位数3025有一个特殊性质: 它的前两位数字30和后两位数字25的和是 55, 而55的平方刚好等于该数(55*55=3025). 试编一程序打印所有具有这种性质的四位数. 72、编程找出四个互不相等的自然数, 它们之中任意两数之和为偶数, 任意三数之和可以被3整除, 而且这四个数的和越小越好(已知它们的和不大于50). 73、以不同的字母代表0-9之间的数字, 现有如下等式成立: a+bc+def=ghij,
16、编程求出满足上述条件等式的个数并将所有等式打印输出. 74、下面的竖式表示, 图中的*号只能用素数2,3,5,7代替, 因此称为素数乘法竖式. * * * * * - * * * * * * * * - * * * * * 编程找出此乘法竖式的所有可能方案. 75、出售金鱼: 出售金鱼者决定将缸里的金鱼分五次全部卖出: 第一次卖出全部金鱼的一半加二分之一条; 第二次卖出剩余金鱼的三分之一加三分之一条; 第三次卖出剩余金鱼的四分之一加四分之一条; 第四次卖出剩余金鱼的五分之一加五分之一条; 现在还剩下11条金鱼一次卖出. 问缸里原来有多少条金鱼. 76、一个四位数是一个完全平方数,减去一个每位数
17、字都相同的四位数( 如 1111, 5555)后, 仍是一个完全平方数. 请编程打印出所有这样的四位数. 77、将1,2,3,4,5,6,7,8,9这九个数字组成三个三位数, 使每个数都是完全平方数. 78、如果一个数从左边读和从右边读都是同一个数, 就称为回文数. 例如: 6886就是一个回文数. 编程找出所有既是回文数又是素数的三位数. 79、有一个八位数12345679, 若它乘以9, 则得九位数111111111, 试求:素数 (1)当这个数乘以什么数时, 才能得到全部由5所组成的九位数? (2)当这个数乘以什么数时, 才能得到全部由9所组成的九位数? 80、李先生和他的孙子同出生于2
18、0世纪, 他的孙子与他的年龄之差为60岁, 李先生和他的孙子出生年份被3,4,5,6除, 余数分别为1,2,3,4. 编程求出李先生和他的孙子各出生在哪一年. 81、一位妇女在河边洗碗. 邻居问:家里来了多少个客人?, 她回答: 每两个客人合用一个菜碗, 每三个客人合用一个汤碗, 每四个客人合用一个饭碗, 共用碗65个. 问共来了多少客人? 82、16/64是一个分子和分母都是两位数的真分数, 且分子的个位数与分母的十位数相同. 非常奇怪的是: 如果把该分数的分子的个位数和分母的十位数同时划去, 所得到的结果正好等于原分数约分后的结果. 例 16/64=1/4. 编程找出所有满足上述条件的真分
19、数. 83、公鸡每只值5文钱, 母鸡每只值3文钱, 小鸡3只值1文钱. 今用100 文钱买鸡共100只, 问公鸡, 母鸡, 小鸡各儿只. 84、甲去买东西, 要付给乙19元, 而甲只有3元一张的钱, 乙只有5元一张的钱. 请为他们设计一个交换方案. 85、一米店有三箩米被盗去一部分, 其中左箩剩1合, 中箩剩14合, 右箩剩1合. 小偷甲说他用一马勺在左箩舀米, 每次舀满, 装到布袋. 小偷乙说他用一只木鞋在中箩偷. 小偷丙说他用一只漆碗在右箩中偷. 作案物经标定: 马勺一次舀19合, 木鞋一次舀17合, 漆碗一次舀12合. 问米店被偷走多少米? 甲乙丙各偷多少米? 86、五户人家共用一口井,
20、 如果用A家的绳2条, B家的绳1条接长, 正好抵达水面; 又用B家绳3条, C家绳1条; 或用C家绳4条, D家绳1条; 或用D家绳5条, E家绳1条; 或用E 家绳6条, A家绳1条接长, 也都一样正好抵达水面, 问井深和各家的绳子各长多少?( 不超过999的整数解). 87、有六箱货物,重分别是5吨、2吨、3.5吨、1.7吨、1吨、5.1吨。现有一台货车,载重量10吨。设计一个程序,使这次车运走的货物最多。88、某电台组织一次智力竞赛,计划安排奖励30人。准备了50件奖品。得一等奖者可得3件,二等奖2件,三等奖1件。希望把所有奖品都发到获奖者手中。请找出所有方案(即各等奖各有多少人)。
21、89、从键盘输入二个整数a, b(b0), 若a能被b整除, 就打印YES, 否则打印NO。 90、从键盘输入一个整数, 如果是奇数就直接打印, 否则反复除以2, 直到商为奇数为止, 打印这个奇数商。 91、从键盘输入一个小于1000的正整数, 若此数的各位数字之和能被7整除, 则打印, 否则不打印。 92、求100以内的所有素数。 93、输入一个大于1的自然数, 打印出它的质因数分解式. 如输入75则打印: 75=3*5*5. 94、某自然数N(1N100)的所有素因数的平方和等于N, 请找出两个这样的自然数。 95求1992个1992相乘结果的最后三位数。 96从键盘输入两个自然数, 求它
22、们的最大公约数和最小公倍数。 97、一个自然数是素数, 且它的数字位置经过任意对换后仍为素数, 称为绝对素数. 例如 13. 试找出所有这样的四位绝对素数。 98、编程验证对任意自然数N, 如果各位数字平方和不是1, 则求平方和的各位数字的平方和, 最后必有145, 42, 20, 4, 16, 37, 58, 89 之无穷循环。 99、五位数 4H97H 能被3整除, 且它的最低二位数字所组成的数 7H 能被6整除, 求这个五位数字。100、975*935*972*( ), 在( )中填什么自然数使四个数的乘积末四位全为0, 求出最小值。 101、修改31743的某一位上的数字, 使之成为8
23、23的倍数。 102、一个自然数, 若它的质因数至少是两重的(相同的质因数至少个数为二个, 如36=2*2*3*3)则称该数为漂亮数. 若相邻两个自然数都是漂亮数, 就称它们为孪生漂亮数. 例如8与9就是一对. 请编程再找出一对孪生漂亮数。 103、任意输入二个自然数, 若商为整数, 则直接显示商; 否则把商分解成一个自然数和一个正的既约真分数之和才显示。 例如: 输入: 9, 3 显示: 9/3=3 输入: 8, 6 显示: 8/6=1+1/3 104、任意输入四个自然数a,b,c,d, 看成二个分数a/b, c/d. 求这二个分数之和. 和的显示格式为: 输入 3,2,1,6 输出: 3/
24、2+1/6=1+2/3。 105、在自然数中, 各位数字之和的11倍正好等于自身的自然数只有一个. 请找出这个自然数。 106、求所有不超过1000的这样的整数, 它的平方的末二位数字相同但不为0。 107、P是一个大于3的质数, 对某个自然数N, PN恰好是五位数, 且至少有三个位上的数字相同, 求P至少是多少。 108、编程求最小正整数M,N(0NM)为何值时, 1989m与1989n的最后三位数字相同。 109、验证下面结论: 一个各位数字不同且都不为0的N位数X(3=N=5), 将组成该数的各位数字重新排列成一个最大数和一个最小数作减法, 其差值再重复前述运算, 若干次后必出现一个N位
25、数Y, 使之重复出现. 例如: X=213, 则有 213321-123=198 981-189=892 982-289=693 963-369=594 954-459=495 954-459=495 这时Y=954.110、计算: 111、小明的妈妈是负责分发全厂工资的。为使分发时有足够多的零钞,同时又尽量不使每个人领到的钱太零碎。每个月她都要计算出各种面值的钞票(100元、50元、10元、5元、2元、1元,假设每个人的工资都是整数元)各需要多少张。你能否为她设计一个程序,从键盘输入10个人的工资,再计算出各种面值的钞票各需要多少张?112、任给一个自然数n,求出这个自然数不同因数的个数M.
26、113、给出一个数n的不同因数个数m,求最小满足要求的自然数n,即n有m个不同的因数。例如输入 2 则输出 2 因为2有2个因数。114、m,n为自然数,其上限为k,试编写程序,由键盘输入自然数k找出满足条件: (n2-mn-m2)2=1 且使m2+n2达到最大的m,n。115、求50到100中所有奇数。116、商店卖水果,10斤以下8元每斤,100斤以下打9.5折,即8*0.95元每斤,100斤以上含100斤打9折。输入购买水果的斤数,输出应付钱数,保留两位小数。117、 从键盘输入10个数,求出其中的最小数。118、 输出能被11整除且不含重复数字的三位数。并统计个数。119、 已知一个四
27、位数为ABCD,若A+C和B+D的值相等,则称这个四位数为交叉数,求四位数的交叉数和个数。120、 输入一个字符串,将其中所有的god改为good。 121、 输入两个正整数a,b(1=a=b=1000),输出它们的最大公约数和最小公倍数。如:输入4 6,输出2 12。122、 从键盘随意输入10个整数,输出第5大数。123、有一根长为514CM的钢筋,现在要截成23CM、15CM和19CM的短料,问在各至少截一根的前提下,问各截多少根,使所剩余料最少。124、统计100以内素数的个数。125、给出一个正整数,求出它的因子,并按下面的格式打印出来:15=3*5,20=2*2*5,28=2*2*
28、7126、N的阶乘之和是1!+2!+n!, n小于100。127、求1到100中所有奇数。128、求1到200中所有能被2、3、7整除的数。129、输入一个学生的语文成绩0分到100分,如果是85分到100是优秀,输出“BEST”,如果是 60分到84是及格,输出“GOOD”,如果是 0分到59是不及格,输出“BAD”。130、输入10个学生的语文成绩,分别统计成绩在85100分,6085分和60分以下,各分数段中的人数。131、筐中有鸡蛋是7的倍数,二个二个一为,三个三个一数,四个四个一数,五个五个一烽均余1,求满足此条件的最小蛋数。132、计算N!,其中N由键盘输入。133、求1至200的
29、和。134、读入十个数,计算它们的和与积以及平均值。135、任意输入一个三位数,反过来输出。136、水仙花数是一个三位数,并且它的各数码的立方和正好等于它本身。如:153111555333。137、求能被11整除,且数码的平方和是122的所有的三位数。138、求能被11整除,且不含重复数字的三位数?有多少个。139、求21000中的完数,(因子和等于它本身的数为完数。例如28的因子是1,2,4,7,14,且1+2+4+7+14=28,则28是完数)。140、找21000中的亲密数对(如果A 的因子和等于B,B的因子和等于A,且A不等于B,则称A,B为亲密数对)。141、从键盘输入三个数,输出其中的最大数。142、从键盘输入20个数,求出其中的最小数。143、用循环语句从小到大依次输出26个大写字母,再返向输出。144、输入两个运算量及一运算符,输出运算结果。这相当于计算器计算。145、非波拉契数列如下:0,1,1,2,3,5,8,13,21从第三项开始,每一项等于前两项的和。编程求前20项。146、有一个三位数,三个数字和为20,第三个数 3倍与第二个数的2倍及第一个数三者之和为44,第一个数与第二个数和的2倍减去第三个烽的4倍为14,求这个三位数。147、父子二人,已知儿子年龄不大于40岁,父亲年龄不大于100岁,10年前父亲的年龄是儿子年龄的
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1