程序员面试数学与智力题

这里的题目都是作者从小碰到的一些题目,基本上不是考算法的,而是考你的智力与基础的数学水平,希望对现在在求职的同学有所帮助,楼主会每天都更新几个题目进去,每一次都是加在后面。


1,一个楼梯有n层,小明一次能走一个或两个台阶,问总共有多少种走法

Ans:

Fibonacci数列,设n阶有F(n)种走法,则果断的F(0)= F(1)= 1;F(n)=F(n-1)+F(n-2)


2,一个电梯有n层,现在走进来m波人,问电梯平均停几次

Ans:

设电梯在第i层不停的事件为Xi,则我们要求的是E(X1+X2+...+Xn)=nE(X1)

果断的E(Xi)=(1-1/n)^m


3,从[0,1]区间不断地取小数,问平均取多少个才能使取出的数的和大于1

Ans:

e次,其中e是Euler常数,我们设取K次,则结果是P(X=k)*k=P(X>0)+P(X>1)+P(X>2)+P(X>3)+...=e


4,有n根火柴,一次只能取1,2,3...m根,谁取到最后一根谁赢,问,对于什么样的n先手必胜

Ans:

果断按n+1取模,如果n=0(mod n+1),则后手赢,否则,先手赢


5,用半径为R/2的圆去覆盖半径为R的圆,至少需要多少个

Ans:

7个,考虑正六边形


6,两个人轮流在圆桌子上放硬币,硬币不能叠在一起,谁不能放了谁就输,问,谁必胜

Ans:

先手,先手放中间,然后后手怎么放,它对称地放就行了


7,有n根火柴,两个人轮流取,一个人取的不能超过前面一个人取的,第一次取不能全部取完,取到最后一根的赢,问谁有必胜策略

Ans:


8,四个人过桥,只有一个手电,这四个人分别需要1,2,5,10分钟,桥一次最多过两个人,问最少需要多长时间才能全部过去


9,给你n个括号,问你能用这n个括号构造出多少个合法的括号序列。(Catalan数)


10,给你2n个互不相同的数,现在要分成对齐的两行,每一行从小到大排列,第二行对应的数小于第一行对应的数,问有多少种排放方法


11,从(0,0)走到(n,n)有多少种走法,其中只允许向右和向上走。


12,从(0,0)到(n,n)有多少种走法,其中只允许向上和向右走,并且不能越过对角线


13,把一个n边形分成一些三解形,问有多少种分法


14,在[1,2n]中取一些正整数,问最少要取多少个才能保证存在两个数,一个整除另外一样。


15,有n个月饼,一次至少吃一个,问有多少种吃法。


16,有一排石头共n个,A,B两个人轮流每一次只能从中取一个或者取两个相邻的,取到最后一个赢,问对于怎样的n先手必胜


17,题目如上,取到最后一个的输,问对于什么样的n先手必胜


19,n堆石头,个数分别是K1、K2...Kn,A、B两个人轮流取,每一次只能在一堆中取,取到最后一个的赢,问对于什么样的局先手必胜


20,题目如上,取到最后一个的输,问对于什么样的书面先手必胜。


21,n个石头排成一圈,A、B两个人轮流取,一次只能取1个或者连续的两个,取到最后一个的赢,问对于什么样的n先手必胜


22,题目如上,取到最后一个的输,问对于什么样的n先手必胜。


23,某个国家只有5块和7块两种钱,问这两种钱能组成哪些钱。


24,在一条直接线上有n个仓库,现在需要建一个为这些仓库服务的工厂,问工厂的地址如何选择使得这些 仓库离这个工厂的地址之和最少。


25,在[1,2n]之间任意选n+1个数,证明一定有两个数的和或者差能被n整除


26,有n个石头,甲乙轮流取,每一次要取2的次数个(1,2,4,8,16...),取到最后一个的赢,问,谁必胜


27,题目如上,改成取到最后一个输,问,谁必胜


28,A,B,C三个海盗,共有30颗钻石,首先A提出分钻石的方案,三个投票表决,如果超过半数同意,则按它的方法分,否则,把A处死,由B分,此时B,C投票表决,超过半数就按它的方法分配,否则,B处死,此时,只有C 一个人,所以C获得所有钻石.问,A最多可获得多少钻石


28,有三块蛋糕,A,B两个人分,A负责切蛋糕(每一块都要被分成两份,然后两个人选择),已知B有一次首先选择的机会,A有两次首先选择的机会,如果B的没有使用自己的选择机会,则它可以提出自己先选,它使用完这次机会之后,再也无法先选,问A最多可获取多少蛋糕.


29,有2n+1个整数,其中n个出现两次,一个只出现了一次,如何找到那个只出现一次的数


30,一个数组,把前面k个数移到后面,如何实现


31,2n+2个整数,其中n个出现两次,两个只出现一次,如何找到那两个只出现一次的数


32,3n+1个整数,其中n个出现三次,一个只出现一次,如何写程序找到那个只出现一次的数


33,有1024瓶药,一瓶有毒,问用多少吃小白鼠能在最短时间内检测出来有毒的那一瓶


34,有一个1000g的砝码,最少切成多少块使得它们能称出1-1000之间的任何整数重量


35,题目与上一样,但是,砝码可以放在两边,此时最小分成多少块


36,圆上取三个点,这三个点构成锐角三角形的概率多大


37,从[0,1]中随便取三个数,构成三角形的概率多大


38,在圆内选两个点,这两个点的期望长度是多少


39,正方形内选两个点,这两个点期望长度是多少


40,有一个猎人和一个猎物,猎物藏在n个地方中的一个(这n个地方排成一条线),如果猎人没有射中目标,猎物向左或者向右移动一次(到最左边只能向右边移动,到最右边只能向左边移动),问,猎人如何射中目标.


41,在一个 8*8的网格上,有一个农夫和一只鸡,它们都能向相邻的四个格子中的一个走去(轮流走),如果农夫先走,鸡后走,农夫是否一定能抓到鸡,否则,鸡先走,农夫后走呢.


42,在一个10*10的网格上有一个1*5的快艇,问,最小在设计多少炮,能确保射中炮艇.


43,一人7*7的棋盘掉了一个角,剩下的是否能用1*2的骨牌覆盖,如果是9*9呢


44,黑板上写着1->n,A,B两个人轮流擦出一个数,擦出的时候,这个数的所有约数也会被擦出,谁没有数可擦出,谁输,问,谁必胜

45 有n个人排成一个圈,每一个次隔一个离开一个(从第一个开始数),最后离开的一个会得到一个奖品,(Joseph问题k=2的情况),问,得到奖品的是哪个人。


46 一根棍子,分成三断,这三断能构成三角形的概率多大。


47 如何仅使用C语言,随机生成(0,1)之间的符点数


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章