腾讯笔试题目_第1页
腾讯笔试题目_第2页
腾讯笔试题目_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

腾讯笔试题目zz笔试题,笔试题目,腾讯1、请定义一个宏,比较两个数a、b的大小,不能使用大于、小于、if语句2、如何输出源文件的标题和目前执行行的行数3、两个数相乘,小数点后位数没有限制,请写一个高精度算法4、写一个病毒5、有A、B、C、D四个人,要在夜里过一座桥。他们通过这座桥分别需要耗时1、2、5、10分钟,只有一支手电,并且同时最多只能两个人一起过桥。请问,如何安排,能够在17分钟内这四个人都过桥?2005年腾讯招聘选择题(60)c/c++oslinux方面的基础知识c的Sizeof函数有好几个!程序填空(40)1.(20)4空x5不使用额外空间,将A,B两链表的元素交叉归并2.(20)4空x5MFC将树序列化转存在数组或链表中!1.请定义一个宏,比较两个数a、b的大小,不能使用大于、小于、if语句//这样转向定义应该不算违规吧!^_^#include"stdafx.h"#include<string.h>#include<iostream>usingnamespacestd;#defineCmp(x,y)compare(x,y)intcompare(inta,intb){a^=(1<<31);b^=(1<<31);inti=31;while((i^-1)&&!((a&(1<<i))^(b&(1<<i))))i--;return(i^-1)?(((a>>i)&1)?1:-1):0;}int_tmain(){intc;c=Cmp(5,4);cout<<c<<endl;return0;}在网上查过蛮多的做法,但他们的做法都只能对整数进行比较。如:#defineMAX(a,b)(abs((a)-(b))==((a)-(b))?(a):(b))这是一种比较好的做法,但是函数abs()接收的参数及其返回值都是整数,这样在传递实参时,其小数部分可能被截去,从而导致误差。比如:a=-12.345,b=-24.1467,abs((a)-(b))返回值为12,但(a)-(b)显然不等于12,从而MAX(a,b)等b的值。#defineMAX4(a,b)(((a)-(b))&0x80000000)?(b):(a)及#defineMAX(a,b)(((b)-(a)&(0x1<<31))>>31)也都只能对整数进行操作。#defineMAX(a,b)((a)/(b))?(a):(b)更是错的可笑。经过思考,决定将第一种做法#defineMAX(a,b)(abs((a)-(b))==((a)-(b))?(a):(b))中的abs()函数换成fasb()函数,fabs()所接受的参数及返回值都是double型的,这样无论它是接受整数还是接受float型的数据,都不会因精度问题而出现误差!2.如何输出源文件的标题和目前执行行的行数(不晓得怎么搞,在等兄弟给我答案在!)3.两个数相乘,小数点后位数没有限制,请写一个高精度算法算法提示://想法来自北师大一个同学给我看的另一个题目以及他的java程序。输入stringa,stringb;计算stringc=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))//最低可以找到线性算法,使用预先区域统计划分!类试于构造QuadTrees!写起来代码会长些!#include<stdio.h>#include<stdlib.h>#defineMax100000000inta[Max+10];intcmp(constvoid*a,constvoid*b){int*x=(int*)a;int*y=(int*)b;return*x-*y;}intmain(){intn=0;while(scanf("%d",&a[n])==1)n++;qsort(a,n,4,cmp);for(inti=0;i<3;i++)printf("%d",a);return1;}5、有A、B、C、D四个人,要在夜里过一座桥。他们通过这座桥分别需要耗时1、2、5、10分钟,只有一支手电,并且同时最多只能两个人一起过桥。请问,如何安排,能够在17分钟内这四个人都过桥?Solution:TheFirstTime:A(1)和B(2)过桥,A(1)返回Cost:1+2TheSecond

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论