信息学奥赛中级班总复习题 本文关键词:复习题,信息学,奥赛,中级班
信息学奥赛中级班总复习题 本文简介:备考注意事项:1.6条语句的空模板2.路径:file-changdir3.时间的控制3个小时4个题目,或者3.5个小时5个题目。4.环境笔,草稿纸,计算机(不能上网的!)循环结构的程序设计For循环语句:如果希望重复执行一组语句,而且重复的次数事先是确定的,而不依赖于循环中语句的运行结果。While
信息学奥赛中级班总复习题 本文内容:
备考注意事项:
1.
6条语句的空模板
2.
路径:file-chang
dir
3.
时间的控制3个小时4个题目,或者3.5个小时5个题目。
4.
环境
笔,草稿纸,计算机(不能上网的!)
循环结构的程序设计
For循环语句:如果希望重复执行一组语句,而且重复的次数事先是确定的,而不依赖于循环中语句的运行结果。
While
循环语句:不知道重复的次数,只知道满足某条件要执行或不执行,所以布尔表达式所含变量在循环语句中一定要有更改,否则变死循环。
Repeat
循环语句
数组
A[i]
前移
i:=i-1
后退
i:=i+1
位置关系:A[I,j]
上一行
I-1
下一行i+1
前一列
j-1
后一列j+1
主对角线:i=j
对称关系a[I,j]
a[j,i]
上三角
I=j
次对角线:I+j=n+1
对称关系
a[I,j]
a[n+1-j,n+1-i]
上三角
I+j=n+1
排序,一定要滚瓜烂熟
=================================================================================
1.
计算1+2+3+4…+n之和
1*2*3*···*n
2+4+6+···+n
1+1/2+1/3+···+1/n
12+22+32+···+n2
2.
键入一个自然数x,求这个自然数的所有约数(包括1和x本身)之和
3.
编程找出四位整数abcd中满足下述关系的数:(ab+cd)*(ab+cd)=abcd
4.
输出1-n之间的所有奇数
5.
输入若干个字符(以‘#’作为结束),计算输入的字符串字母‘a’或‘A’出现的次数
6.
求输入的一个整数的各位数字之和
7.
求两个自然数m,n的最小公倍数
8.
从n个数中挑选出最大的数
9.
求100-999中的水仙花数。什么是水仙花数呢?若三位数abc,满足:abc=a3+b3+c3,则成为abc为水仙花数。如153,13+53+33=1+125+27=153,所以153是水仙花数。
10.
请编程输出图形(以前上课时候涉及到的所有图形)
11.
求出2-n之间的所有质数(素数)
12.
求两个自然数M和N的最大公约数
13.
已知faibonacai数列的前几个数分别为0,1,1,2,3,5,8,13.。。。,编程求此数列的前n项
14.
按照顺序输入n个数据,以逆序方式输出
15.
将a数组中第一个元素移到数组末尾,其余数据依次往前平移一个位置。
16.
对于数组a,假设它的所有元素师按照递增顺序存放的。现在输入一个x,如果x存在于数组a中,则要把x元素删除;否则将x插在相应的位置,保持a数值的所有元素仍然递增。
17.
从键盘输入n个数,将它们按照从小到大的顺序存储并输出。
18.读入n个数,输出偶数项及它们的和;输出奇数项及它们的平均数。
19.读入n个数,输出其中的最大数及其位置号。
20.有一数组(设有n个),其排列顺序如下:3,6,11,45,23,70,67,34,26,89,90,15,56,50,20,10。编一程序交换这组数中任意指定的两段不重合数据。
21.给定一串整数数列,求出所有的递增和递减子序列的数目。如数列7,2,6,9,8,3,5,2,1可分为(7,2),(2,6,9),(9,8,3),(3,5),(5,2,1)5个子序列,答案就是5。我们称2,9,3,5为转折元素。
22.将1-9这9个数字分为三组(每个数字只能使用一次),分别组成三个三位数,且这三个三位数的值构成为1:2:3的比例,试求出所有满足条件的三个三位数。
23.设数组a是一个有n个元素的整数数组,从中找出最大和的子序列。
24.已知数组a中含有n个整数元素,求a中有多少个最大数?多少个次大数?。。。。多少个互不相同的数?
25.打印出n以内以二进制和十进制正读和反读都一样的整数。
26读入n个正整数,将其按从小到大的顺序排列,输出每个数出现的次数及其在原序列中的位置。
27.约瑟夫问题。
N个人围成一圈,从第一个人开始报数,数到k的人出圈。再由下一个开始报数,数到k的人出圈,。。。。依次出圈的为6、4、3、5、8、7、2、1.
28.多项式的和。
对于一个一元多项式,可以表示为:y=a1xb1+
a2xb2+
a3xb3+···+
anxbn,可以约定b1,b2····bn从大到小排列,且a1,a2···an均不为0。求任意两个多项式的和。输出时只需打印a、b序列值即可。如3x4+2x+1输出格式为:
3
4
2
1
1
0
多项式的输入可以模仿以上格式。
29.回文算术
任给一个三位数abc(10进制),算出abc与cba之和。若该和数不是回文数(即从左向右读与从右向左读是同一数,如19391),再按上述方法求和。以此类推,直到得到回文形式的和数或者和数位数已超过15位时中止计算。
30.找马鞍数
求一个n*n数阵中的马鞍数,输出它的位置。所谓马鞍数,是指在行赏最小而在列上最大的数。如下为一个n=5的例子:
5
6
7
8
9
4
5
6
7
8
3
4
5
2
1
2
3
4
9
0
1
2
5
4
8
则第一行第一列个的数5就是马鞍数。思考:马鞍数一定有吗?是唯一的吗?
31.数学黑洞6174
已知:一个任意的四位正整数。将数字重新组合成一个最大的数和最小的数相减,重复这个过程,最多七步,必得6174.将永远出不来。求证:所有四位数数字(全相同的除外),均能得到6174.输出掉进黑洞的步数。
32.做一个加法器
完成30000以内的加法,两个加数间用“+”连接,可以连加,回车表示式子输入完成;“#”表示结束运算,退出加法器
33.
将用逗号隔开的两个英语单词交换位置输出
34.
输入一行字符,包含若干个单词,约定相邻的两个单词用空格隔开,编程统计单词的个数
35.
对输入的一句子实现查找且置换的功能(找到某个子串并换成另一子串)。