腾讯笔试题目腾讯笔试题目 zz 1 、请定义一个宏,比较两个数 a、b 的大小,不能使用大于、小于、 if 语句 2 、如何输出源文件的标题和目前执行行的行数 3 、两个数相乘,小数点后位数没有限制,请写一个高精度算法 4 、写一个病毒 5、有A、B、C、D 四个人, 要在夜里过一座桥。他们通过这座桥分别需要耗时 1、2、5、 10 分钟, 只有一支手电, 并且同时最多只能两个人一起过桥。请问,如何安排,能够在 17 分钟内这四个人都过桥? 2005 年腾讯招聘选择题(60) c/c++ os linux 方面的基础知识 c的 Sizeof 函数有好几个! 程序填空(40) 1.(20) 4空 x5 不使用额外空间,将 A,B 两链表的元素交叉归并 2.(20) 4空 x5 MFC 将树序列化转存在数组或链表中! 1. 请定义一个宏,比较两个数 a、b 的大小,不能使用大于、小于、 if 语句// 这样转向定义应该不算违规吧! ^_^ #include "" #include <> #include <iostream> using namespace std; #define Cmp(x,y) compare(x,y) pare(int a,int b) { a^=(1<<31); b^=(1<<31); int i=31; while((i^-1) & !((a&(1<<i))^(b&(1<<i)))) i--; return (i^-1)?(((a>>i)1)?1:-1):0; } int _tmain() { int c; c= Cmp(5,4); cout<<c<<endl; return 0; } 2. 如何输出源文件的标题和目前执行行的行数( 不晓得怎么搞, 在等兄弟给我答案在!) 3. 两个数相乘,小数点后位数没有限制,请写一个高精度算法算法提示: // 想法来自北师大一个同学给我看的另一个题目以及他的 jav a 程序。输入 string a, string b; 计算 string c=a*b; 返回 c; 1, 纪录小数点在 a,b 中的位置 l1,l2 , 则需要小数点后移动位置数为 l=length(a)+length(b)-l1-l2-2; 2, 去掉 a,b 中的小数点,( a,b 小数点后移,使 a,b 变为整数) 3, 计算 c=a*b; (要么用 java 的 BigInterger 搞, 要么自己用 C++ 写高精度数乘法, 超过百万位,用 FFT, 我就不细说, 这都预先写过就别做了) 4, 输出 c, (注意在输出倒数第 l 个数时,输出一个小数点。若是输出的数少于 l 个,就补 0) 4. 写一个病毒( 没搞过, ^_^) 5. 让你在 100000000 个浮点数中找出最大的 10000 个, 要求时间复杂度优。// 本算法使用快排, O(n*lg(n)) // 最低可以找到线性算法, 使用预先区域统计划分! 类试于构造 Quad Trees! 写起来代码会长些! #include <> #includ
腾讯笔试题目 来自淘豆网m.daumloan.com转载请标明出处.