2020CSP-S第一轮赛前复习

虽然觉得初赛应该问题不大,但还是稍微做点准备,万一最后一年因为初赛退役,那就闹大笑话了。

2019

9.一些数字可以颠倒过来看,例如0、1、8颠倒过来还是本身,6颠倒过来是 9,9颠倒过来看还是6,其他数字颠倒过来都不构成数字。类似的,一些多位数也可以颠倒过来看,比如106颠倒过来是901 。假设某个城市的车牌只有5位数字,每一位都可以取0到9。请问这个城市有多少个车牌倒过来恰好还是原来的车牌,并且车牌上的5位数能被3整除?

解:因为这个五位数颠倒后大小不变,也就是说当1,3位数字确定后,4,5位数字也随之确定下来。所以,其实我们只需要考虑前三位数字的填法即可。只考虑1,2位的话,共有5*5=25方案。而第三个数字,为了满足颠倒后仍是原数,所以只能填0,1,8。此时还剩最后一个条件,我们构造出的数需是3的倍数,也就是各位数之和模3余0。考虑0,1,8对3的同余,我们会发现这三个数模3的余数分别是0,1,2,恰好构成一个3的完系。所以不管另四位数字之和是多少,第三位数字都有且只有一种情况与之对应,使各位数之和是3的倍数。所以共有25种方案。

6.由数字1, 1, 2, 4, 8, 8所组成的不同的4位数的个数是()。

解:暴力枚举(划掉)
先考虑各位都不相同,全排列有24种方案;
有两位相同,则四位数字组成有{1,1,2,4},{1,1,2,8},{1,1,4,8},(再将1换成8)六种情况,经过手动模拟共有6*12=72种方案;
最后一种组成{1,1,8,8},手算一下,有6种方案。
所以共有24+72+6=102种方案。
 
5.

设变量x为float型且已赋值,则以下语句中能将x中的数值保留到小数点后两位,并将第三位四舍五入的是()

x= (x*100+0. 5)/100. 0;  x=(int) (x*100+0. 5)/100. 0;  x=(x/100+0. 5)*100. 0;  x=x*100+0. 5/100. 0;

解:语言常识题。(int)x*100是为了取出前两位小数,+0.5是因为c++中强制进制转换时是向零取整,所以+0.5使其变为四舍五入取整。答案是B。

2018

2.解释执行语言:Python

编译执行:除了Py......

(java貌似有点争议)

 

3.ccf基本知识整理(误):待补

 

7.在一条长度为 1 的线段上随机取两个点,则以这两个点为端点的线段的期望长度是()。

不想打公式了,贴个别人的解法。解释下,从[a,b]中任取一点到a的期望距离=(b-a)/2,。所以,我们在[0,1]中任取一点x,再在[0,x],[x,1]中分别取一点,算出即可。

2020CSP-S第一轮赛前复习

 

 

 8.卡特兰数 Cn = (2n)! / (n + 1)! / n!:
1.表示有n个结点的不同形态的二叉树的个数
2.表示含n对括号的合法括号序列的个数
3.表示长度为n的入栈序列对应的合法出栈序列个数
4.表示通过连接顶点而将n+2边的凸多边形分成三角形的方法个数
5.从(0,0)走到(n,n),且中途不经过直线y=x的方案数
 
12.

2-3 树是一种特殊的树,它满足两个条件:

  1. 每个内部结点有两个或三个子结点;
  2. 所有的叶结点到根的路径长度相同。

如果一棵2-3 树有10 个叶结点,那么它可能有( )个非叶结点。

解:待补

 

2020CSP-S第一轮赛前复习

上一篇:水资源绿色发展VR全景博览会的应用


下一篇:解决CASS启动弹出无写入权限问题