盘点那些有趣的IT面试题(上)
1.写一个高效C语言程序,计算一个无符号整数中1的个数。
输入 输出
==== ===
0(00) 0
1(01) 1
2(10) 1
3(11) 2
….. …
2.给定字符串S1和S2,写程序判断S2是否能由S1旋转而来,要求只能调用一次strstr系统函数。
例如:s1 = ABCD and s2 = CDAB, return true 而 s1 = ABCD and s2 = ACBD , return false
3.IF条件中填入什么东西,能能让下面的程序打印出HelloWorld?
4.只修改或添加一个字符,使下面的程序打印出20个*号。(至少有3种解法)
5. 写一个算法,反转字符串中的单词顺序。
例如:Hi Welcome to cricode 反转成 cricode to Welcome Hi
6.100层楼,给你两个球,球的特性如下:如果你从这栋楼的某一小于X的楼层扔下这个球,球不会碎,如果你从大于等于X的楼层扔下,则球必定会碎。假设你能重复使用没有摔碎的球,请给定一个算法,用最少的扔球次数找出边界楼层X.
7.在C语言中,像下面这样复制数组是不可行的。
请问,你能否找到一个简单的极客方法,让上述方法可行?
8.A、B两座城市相距1000Km,我们有3000个香蕉要从A城市运往B城市,已知一头大象一次最多能运1000个香蕉,而且大象每次走1Km要吃掉一个香蕉,如果香蕉被吃完了,大象就不能再继续往前走。请问,你最终最多能运多少香蕉到B城市?
9.给定一个8X8的棋盘,编程计算:
1)棋盘包含多少个正方形?
2)棋盘包含多少个矩形?
(注:这里的矩形指长和宽不相等)
10.给你6双等长的筷子,要求组成四个等边三角形,不允许折断或者弯曲筷子。
11.给你13个球,你能否将其摆放成9行,使得每一行刚好有4个球?
附加:如果你觉得13个球太简单,给你22个球,你能否将其摆放成21行,每一行刚好4个球?
12.一个滑雪爱好者决定每天都去滑雪,但他不知道他这份热情能坚持多久,因此,需要做一个决定:是买一块滑雪板还是租用滑雪板,假设每一天租金是1块钱,而买一个滑雪板需要B元,这里B>>1.请你给出一个好的方案,让滑雪爱好者的花费最少。
知道答案的童鞋,尽管放马过来:写在评论里,45分钟内能解决战斗的同学,恳请留下大名!
来源:Quora
译者:快课网——Jay13
转载请注明:快课网 » 盘点那些有趣的IT面试题(上)