(PASCAL)信息学竞赛初级篇题库
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(PASCAL)信息学竞赛初级篇题库
1. 输入10个正整数,计算它们的和,平方和;
2. 输入20个整数,统计其中正、负和零的个数;
3. 在1——500中,找出能同时满足用3除余2,用5除余3,用7除余2的所有整数;
4. 输出1——999中能被3整除,且至少有一位数字是5的数;
5. 输入20个数,求出它们的最大值、最小值和平均值。
6. 甲、乙、丙三人共有384本书,先由甲分给乙、丙,所给书数分别等于乙、丙已有的书数,再由乙分给甲、丙,最后由丙分给甲、乙,分法同前,结果三人图书数相等。编程求甲、乙、丙三人原各有书多少本?
7. 某养金鱼爱好者,决定出售他的金鱼。第一次卖出了全部金鱼的一半加2分之一条金鱼;第二次卖出剩金鱼的三分之一加三分之一条金鱼;第三次卖出剩金鱼的四分之一加四分之一条金鱼;第四次卖出剩金鱼的五分之一加五分之一条金鱼,最后还剩11条。问原来有多少条金鱼?(每次卖的金鱼都是整数条)
8. 猴子吃桃子问题:猴子第一天摘下若干个桃子,当即吃了一半还不过瘾,又多吃了一个;第二天又将剩下的桃子吃掉一半又多吃了一个;以后每天早上都吃了前一天剩下的一半零一个。到了第十天想再吃时,见只剩下一个桃子,求第一天共摘了多少个桃子?
9. 从键盘输入整数l,统计出边长为整数的周长为l的不等边三角形的个数。
10. 输入三个整数,以这三个数为边长,判断是否构成三角形;若构成三角形,进一步判断它们构的是:锐角三角形或直角三角形或钝角三角形。
11. 1*2*3*...*1000结果是一个很大的数,求这个数末尾有多少个连续的零。
12. 任意输入两个整数,求这两个整数的最大公约数,并求这两个整数的最小公倍数。
13. 一个整数的立方可以表示为两个整数的平方差,如19853=19711052-19691202。
编程:输入一个整数N,自动将其写成N3=X2-Y2。
14. 求100以内的所有素数。纯粹素数是这样定义的:一个素数,去掉最高位,剩下的数仍为素数,再去掉剩下的数的最高位,余下的数还是素数。这样下去一直到最后剩下的个位数也还是素数。求出所有小于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;502194+491205=993399。经过七步就得到了回文数。
设计一个程序,由计算机在局部范围内验证回文数的猜测,并将寻找回文数的每一个步骤都显示出来。16. 已知一个正整数的个位数为7,将7移到该数的首位,其它数字顺序不变,则得到的新数恰好是原数的7倍,编程找出满足上述要求的最小自然数。
17. 任意一个大于9的整数减去它的各位数字之和的差,一定能被9整除。
18. 有一个六位数,其个位数字7,现将个位数字移至首位(十万位),而其余各位数字顺序不变,均后退一们,得到一个新的六位数,假如旧数为新数的4倍,求原来的六位数。
19. 任意给定平面上三个点A(X1,Y1),B(X2,Y2),C(X3,Y3),试判断这三个点能否构成三角形。能则求出它的面积。
20. 将1至9这几个数字排成3x3方阵,并使每一横行的三个数字组成一个三位数。如果要使第三行的三位数是第一行的两倍,第三行的三位数是第一的三倍,应怎样排法?编程找出所有排法。
21. 一个合数(质数的反数),去掉最低位,剩下的数仍是合数,再去掉剩下的数的最低位,余留下来的数还是合数,这样反复,一直到最后公剩下的一位数仍是合数;我们把这样的数称为纯粹合数。求所有的三位纯粹合数。
22. 输入一个大于1的整数,打印出它的素数分解式。如输入75,则打印:"75=3*5*5"。
23. 某自然数n的所有素数的平方和等于n,(1<100),请找出二个这样的自然数n。
24. 若某个自然数的所有小于自身的素数之和恰好等于其自身,则该自然数称为一个完全数。
例如:6是一个完全数,6=1+2+3。目前至少发现29个完全数。
编程找出三个最小的完全数。
25. 一个自然数,若它的素因数至少是两重的(相同的素因数至少个数为二个,如:36=2*2*3*3),则称该数为"漂亮数"。若相邻的两个自然数都是"漂亮数",就称它们为"孪生漂亮数",例如8和9就是一对"孪生漂亮数"。
编程再找出一对"孪生漂亮数"。
26. 每一个素数的倒数都可以化为一个循环小数,例如:1/7可以化为0.(142857),1/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项的和。
(PASCAL)信息学竞赛高级篇题库
1. 编一程序实现:由键盘输入年月日后,计算机能打印出该日期是星期几。
2. 编程实现:键盘输入年月,计算机能打印出该月的月历,如输入2000、1,则输出:
SUN MOD TUE WED THU FRI SAT
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
3. 写出两个1,然后在它们中间插入2,成121;下一步是在上面数中每两个相邻的和数为3的数之间插入3,成为13232;再下一步又在上面数中任意两个相邻的和数为4的数中插入4,成为1432341;由键盘输入N,求出用上面方式构造出来的序列,其最后插入的数是N。假设这个序列不超过1000项,给出N=9时的运算结果。
4. 把所有3的方幂及不相等的3的方幂的和排列成递增序列:1、3、4、9、10、12、13、。。。这个序列的第300项是多少?(6840)
5. 求196+295+394+….+961除以3、5、7、11的余数
6. 2100是一个很大的数,计算机无法直接计算出来,编程求该式的准确结果(从最高位到最低位第一位都要打印出来)
(126750600228229401496703205376)
7. 求789789…789(共29组789)除以79的商和余数。
8. 6的因子有1、2、3、6,它们的和1+2+3+6与原数6的比值等于2,比6小的数的这个比值都小于2,比6大的数一直到12,才有(1+2+3+4+6+12)/12=2.33,比值超过2。编程序,给出120以内最大比值的统计表,即从6开始计算此值,得到更大的此值就输出,再得到新的更大比值则再输出,一直到120,输出格式为: