文章目錄

从扬大数院毕业后,与数学渐行渐远,许多时候,考虑问题都角度渐渐变得工程,也就是直观,而不是从抽象的角度来解决。组里有一个实习生,带来了几道笔试题,思考后,解决了,从解决问题的角度,明显看出,越来越工程化了。

第一题说的是用6种颜色去涂一个立方体,问有几种涂法?

一个明显的解答是6的阶乘,也就是720次,可是其中有很多种涂色,经过旋转后是一样的,所以这是错的。看到这题,立刻想到了魔方,之后想到了骰子,考虑到骰子更加直观,就用骰子。思考之后,其实挺简单的。把1这面朝上,那么1的对面,也就是底面有5种可能的情况。之后再看侧面的情况,对于侧面,固定一面之后,它的对面还有3中可能的情况,之后剩下两个侧面,有2种情况。所以一共有5 x 3 x 2 = 30种情况。这题一个难点是最开始的1这面的选择,以及侧面时,固定一面的选择。对于1这面的选择,是不能算概率的,因为无论怎么排,总是可以把1这面朝上。而对于侧面时固定一面,这固定一面也是不能算概率的,因为无论怎么排,都可以固定一面。

第二题说的是,对于座位编号从1到5的5个人,将他们的座位打乱,每个人都不在自己座位上的情况有几种?

经过上一题的训练后,抽象一下题目 ,对于座位编号从1到n的n个人,将他们的座位打乱,每个人都不在自己座位上的情况有几种
所以对于这题,相当于n为5的情况。依然用上面的类似方法。对于编号1的人,他一共有4种情况不在自己的座位上,假设他占了编号为5的座位。那么对于编号为5的这个人,他有两种情况可以选择,第一种,他占了座位1,则此时还剩三个人,这相当于n为3的情况,计算得到一种有2种可能;第二种情况是5不在座位1上,那么剩下的情况就相当于n=4的情形,计算得到有9中可能。于是最终结果等于4 x (2 + 9) = 44。而从这里也可以得到一个递推公式。设t(n)为人数为n时的可能情形。则t(n) = (n - 1) x (t(n - 1) + t(n - 2)),于是得到一个序列为0 1 2 9 44 265 ….

第三题说的是,一共有27个人想喝饮料,三个空瓶子可以换一瓶饮料,那么一共需要买多少瓶饮料才能保证每个人都能喝到一瓶饮料?

对于这题,立刻想到经典的借瓶子策略,对于这里,即只需要2个空瓶就可以喝一瓶饮料,这是因为当有2个空瓶时,可以向老板借一个空瓶,凑齐三个空瓶换来一瓶饮料,喝完之后,把空瓶换给老板。我想这里也是可以用到这个策略,于是写了一个序列1 2 6 18,等于27。所以最终的答案是18瓶。

打赏作者

文章目錄