1、青少年奥林匹克信息学竞赛初级篇题库1. 输入 10 个正整数,计算它们的和,平方和; 2. 输入 20 个整数,统计其中正、负和零的个数; 3. 在 1500 中,找出能同时满足用 3 除余 2,用 5 除余 3,用 7 除余 2 的所有整数;4. 输出 1999 中能被 3 整除,且至少有一位数字是 5 的数; 5. 输入 20 个数,求出它们的最大值、最小值和平均值。 6. 甲、乙、丙三人共有 384 本书,先由甲分给乙、丙,所给书数分别等于乙、丙已有的书数,再由乙分给甲、丙,最后由丙分给甲、乙,分法同前,结果三人图书数相等。编程求甲、乙、丙三人原各有书多少本? 7. 某养金鱼爱好者,决定
2、出售他的金鱼。第一次卖出了全部金鱼的一半加 2 分之一条金鱼;第二次卖出剩金鱼的三分之一加三分之一条金鱼;第三次卖出剩金鱼的四分之一加四分之一条金鱼;第四次卖出剩金鱼的五分之一加五分之一条金鱼,最后还剩 11 条。问原来有多少条金鱼?(每次卖的金鱼都是整数条) 8. 猴子吃桃子问题:猴子第一天摘下若干个桃子,当即吃了一半还不过瘾,又多吃了一个;第二天又将剩下的桃子吃掉一半又多吃了一个;以后每天早上都吃了前一天剩下的一半零一个。到了第十天想再吃时,见只剩下一个桃子,求第一天共摘了多少个桃子? 9. 从键盘输入整数 l,统计出边长为整数的周长为 l 的不等边三角形的个数。 10.输入三个整数,以这
3、三个数为边长,判断是否构成三角形; 若构成三角形,进一步判断它们构的是:锐角三角形或直角三角形或钝角三角形。 11.1*2*3*.*1000 结果是一个很大的数,求这个数末尾有多少个连续的零。 12.任意输入两个整数,求这两个整数的最大公约数,并求这两个整数的最小公倍数。 13.一个整数的立方可以表示为两个整数的平方差,如 19853=19711052-19691202。编程:输入一个整数 N,自动将其写成 N3=X2-Y2。 14.求 100 以内的所有素数。纯粹素数是这样定义的:一个素数,去掉最高位,剩下的数仍为素数,再去掉剩下的数的最高位,余下的数还是素数。这样下去一直到最后剩下的个位数
4、也还是素数。求出所有小于 3000 的四位的纯粹素数。 15.验证回文数的猜测:左右对称的自然数称回文数。如 121,4224,13731 等,有人猜测:从任意一个两位或两位以上的自然数开始,将该数与它的逆序数(如 1992 的逆序数是 2991)相加,得到一个新数,再用这个新数与它的逆序数相加,不断重复上述操作,经过若干步的逆序相加之后,总可以得到一个回文数,例如:从 1992 开始,1992+2991=4983; 4983+3894=8877;8877+7788=16665;16665+56661=73326;73326+62337=135663;135663+366531=502194;
5、502194+491205=993399。经过七步就得到了回文数。设计一个程序,由计算机在局部范围内验证回文数的猜测,并将寻找回文数的每一个步骤都显示出来。 16.已知一个正整数的个位数为 7,将 7 移到该数的首位,其它数字顺序不变,则得到的新数恰好是原数的 7 倍,编程找出满足上述要求的最小自然数。 17.任意一个大于 9 的整数减去它的各位数字之和的差,一定能被 9 整除。 18.有一个六位数,其个位数字 7,现将个位数字移至首位(十万位),而其余各位数字顺序不变,均后退一们,得到一个新的六位数,假如旧数为新数的 4 倍,求原来的六位数。 19.任意给定平面上三个点 A(X1,Y1),B
6、(X2,Y2),C(X3,Y3),试判断这三个点能否构成三角形。能则求出它的面积。 20.将 1 至 9 这几个数字排成 3x3 方阵,并使每一横行的三个数字组成一个三位数。如果要使第三行的三位数是第一行的两倍,第三行的三位数是第一的三倍,应怎样排法?编程找出所有排法。 21.一个合数(质数的反数),去掉最低位,剩下的数仍是合数,再去掉剩下的数的最低位,余留下来的数还是合数,这样反复,一直到最后公剩下的一位数仍是合数;我们把这样的数称为纯粹合数。求所有的三位纯粹合数。 22.输入一个大于 1 的整数,打印出它的素数分解式。如输入 75,则打印:“75=3*5*5“。 23.某自然数 n 的所有
7、素数的平方和等于 n,(1100),请找出二个这样的自然数 n。 24.若某个自然数的所有小于自身的素数之和恰好等于其自身,则该自然数称为一个完全数。例如:6 是一个完全数,6=1+2+3。目前至少发现 29 个完全数。编程找出三个最小的完全数。 25.一个自然数,若它的素因数至少是两重的(相同的素因数至少个数为二个,如:36=2*2*3*3),则称该数为“漂亮数“。若相邻的两个自然数都是“漂亮数“,就称它们为“孪生漂亮数“,例如 8 和 9 就是一对“孪生漂亮数“。编程再找出一对“孪生漂亮数“。 26.每一个素数的倒数都可以化为一个循环小数,例如:1/7 可以化为 0.(142857),1/
8、13 可化为 0.(076923)。编程把 1997 的倒数化为循环小数,并统计出这个循环小数有多少位。 27.59=52+52+32=72+32+12,即 59 可以分别等于两组不同的自然数(每组各 3 个数)的二次幂之和,请找出 10 个最小的具有这种特性的数。 28.验证 2147483647 是一个素数(质数)。 29.如果一个数从左边读和右边读都是同一个数,就称为回文数,例如 686 就是一个回文数。编程求 1000 以内所有的既是回文数同时又是素数的自然数。 30.有这样的一个六位数字 labcde,将其乘以 3 后变成 abcdel,编程求这个数。 31.试找出 6 个小于 160 而成等差数列的素数。 32.已知数列 1、5、12、22、35、。编程求该数列的前 50 项。 33.求数列 1、5、17、53、161、。前 20 项的和。