初赛错题集锦

算法竞赛 比赛-NOIp/CSP
编辑文章

1

题目

若有变量 int a, float x,y, 且 a=7, x=2.5, y=4.7, 则表达式 x+a%3*(int)(x+y)%2/4 的值大约是( ).

答案

2.500000

解析

  1. * / % 运算优先级相同
  2. 后面已被强制转换成 int

资料

C 运算符优先级

2

题目

同时查找 $2n$ 个数中的最大值和最小值,最少比较次数为( ).

答案

$3n-2$

解析

先用 $1$ 次比较前两个数,较大的为最大值,小的为最小值。然后对后面 $2n-2$ 个数,先两两比较,然后将较大值和最大值比较,较小值和最小值比较。共 $1+(n-1)\times 3=3n-2$

3

题目

现有一只青蛙,初始时在 $n$ 号荷叶上。当它某一时刻在 $k$ 号荷叶上时,下一时刻将等概 率地随机跳到 $1, 2, …, k$ 号荷叶之一上,直至跳到 $1$ 号荷叶为止。当 $n = 2$ 时,平均一共 跳 $2$ 次;当 $n = 3$ 时,平均一共跳 $2.5$ 次。则当 $n = 5$ 时,平均一共跳_________次。

答案

$\dfrac{37}{12}$

解析

$$f(n)=\dfrac{(f(1)+f(2)+1+...+f(n)+1)}{n}$$

$$nf(n)=f(1)+f(2)+...+f(n)+(n-1)$$

$$(n-1)f(n)=f(1)+f(2)+...+f(n-1)+(n-1)$$

$$f(n)=1+\dfrac{f(1)+f(2)+...+f(n-1)}{n-1}$$

$$f(4)=\dfrac{17}{6} \ , \ f(5)=\dfrac{37}{12}$$

新评论

称呼不能为空
邮箱格式不合法
网站格式不合法
内容不能为空