发布我晚上UC笔试题
2.一群人按低到高排,mark排在正中间,他的朋友Jone比他高,排在11位,还有一个jim,比他们两个还高,排在20位。问,这群人共有多少人?
3.是一个数字题,一个4*4数列,相邻两个同时加1,或同时减1为一次操作,问这个数列可以在有限次的操作后全部清0么?
4、一只猫一步跑40cm,狗一步跑60cm.。但猫跑3步,狗才跑完2步。现他们在100cm(还是100m,弄晕了,没看清题 )的赛道 上来返比赛 。问最后谁取胜?
5.5个人和一只猴子。在一个岛上,采了很多椰子。晚上,第一个人起来,把椰子分成5份,最后还剩一个,给猴子,自己拿了一份藏起来,继续睡。接着第二个人起来把椰子分成5份,自己藏一份,也是剩一个,给了猴子。 第三、四、五个人都按顺序做了同样的事,第二天早上起来,大家又把剩下的椰子分了,刚好5个人平分,一个也没剩。问,他们最初至少采了多少个椰子。
起始IP:start_ip;结束IP:end_ip;要检查的IP:check_ip;要判断check_ip是否在以start_ip开始,以end_ip结束的段内。如果是返回true,并返回一个好像是可用ip的什么东东的,忘了。,否则返回false;
BOOL check_segment(char* start_ip,char*end_ip,char* check_ip,int * count)//count就是那个要返回的值吧
{
//要写的代码
}
6.在什么情况下用多线程,他的好处和代价是什么,什么情况下用单线程,它的好处和代价是什么;
7.字符集和编码(encode)的关系
8.评价你开发过的一个软件
9.如果给你三个月的时间,你会开发一个什么样的软件,你是怎样安排的
10.谈谈你对浏览器架构的认识。
。。。。
我只是按我的理解记下的题,大概意思应该不会有什么差错吧。还有几题,数据结构或简单的或没记住的题,就没列出来。。这弄得我好难受,这种题。大家一起来做做啊
[解决办法]
2. mark是正中间则说明是奇数,而且小于11,而因为有第20个人,中间值正好是10,所以总数肯定为21.因为如果大于21,则mark应该要大于等于11了;小于21,那mark就不会是正中间了。
3.
[解决办法]
5.5个人和一只猴子。在一个岛上,采了很多椰子。晚上,第一个人起来,把椰子分成5份,最后还剩一个,给猴子,自己拿了一份藏起来,继续睡。接着第二个人起来把椰子分成5份,自己藏一份,也是剩一个,给了猴子。 第三、四、五个人都按顺序做了同样的事,第二天早上起来,大家又把剩下的椰子分了,刚好5个人平分,一个也没剩。问,他们最初至少采了多少个椰子。
最初是3121~~
第一个人拿了624个,剩下2496
第二个人拿了499个,剩下1996
第三个人拿了399个,剩下1596
第四个人拿了319个,剩下1276
第五个人拿了255个,剩下1020
最后每人204个
思路是设每人最后分X个,然后递推到最初,最初的那个数要凑成整数,然后就可以得到x = 204
[解决办法]
2.21人,很简单
3.要么每次加2,要么每次减2,都是偶数,如果4*4里面所有的数加起来是奇数,那肯定不可能最后减到0的。所以你求下4*4里面所有数的和是否是奇数吧。
4.要将所有的距离转化成步数,然后看最后他们的整数次步数剩下的距离,因为是往返过程,所以都会有个剩余非整步。其实按照最直观的解释,可以看成猫的时间利用率高,因为它的频率大,所以在往返掉转方向的时候那个时间利用率高,所以是猫赢。
后面的椰子题目,从后往前推,反正保证椰子数十整数就可以了,但是会每次都会变大,数会很大。
后面的题目就看自己的平时的基础了。
[解决办法]
bool result(int n) { int counter = 5; while (counter >= 0) { if (n % 5 == 1) { --n; // 给猴子一个 n = n - n / 5; // 平分5份并私藏一份 } else if (n % 5 == 0 && counter == 0) { return true; } else { return false; } --counter; // 继续让下一个人来分配 } return false;}