騰訊筆試題目_第1頁(yè)
騰訊筆試題目_第2頁(yè)
騰訊筆試題目_第3頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

騰訊筆試題目zz筆試題,筆試題目,騰訊1、請(qǐng)定義一個(gè)宏,比較兩個(gè)數(shù)a、b的大小,不能使用大于、小于、if語(yǔ)句2、如何輸出源文件的標(biāo)題和目前執(zhí)行行的行數(shù)3、兩個(gè)數(shù)相乘,小數(shù)點(diǎn)后位數(shù)沒(méi)有限制,請(qǐng)寫(xiě)一個(gè)高精度算法4、寫(xiě)一個(gè)病毒5、有A、B、C、D四個(gè)人,要在夜里過(guò)一座橋。他們通過(guò)這座橋分別需要耗時(shí)1、2、5、10分鐘,只有一支手電,并且同時(shí)最多只能兩個(gè)人一起過(guò)橋。請(qǐng)問(wèn),如何安排,能夠在17分鐘內(nèi)這四個(gè)人都過(guò)橋?2005年騰訊招聘選擇題(60)c/c++oslinux方面的基礎(chǔ)知識(shí)c的Sizeof函數(shù)有好幾個(gè)!程序填空(40)1.(20)4空x5不使用額外空間,將A,B兩鏈表的元素交叉歸并2.(20)4空x5MFC將樹(shù)序列化轉(zhuǎn)存在數(shù)組或鏈表中!1.請(qǐng)定義一個(gè)宏,比較兩個(gè)數(shù)a、b的大小,不能使用大于、小于、if語(yǔ)句//這樣轉(zhuǎn)向定義應(yīng)該不算違規(guī)吧!^_^#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;}在網(wǎng)上查過(guò)蠻多的做法,但他們的做法都只能對(duì)整數(shù)進(jìn)行比較。如:#defineMAX(a,b)(abs((a)-(b))==((a)-(b))?(a):(b))這是一種比較好的做法,但是函數(shù)abs()接收的參數(shù)及其返回值都是整數(shù),這樣在傳遞實(shí)參時(shí),其小數(shù)部分可能被截去,從而導(dǎo)致誤差。比如: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)也都只能對(duì)整數(shù)進(jìn)行操作。#defineMAX(a,b)((a)/(b))?(a):(b)更是錯(cuò)的可笑。經(jīng)過(guò)思考,決定將第一種做法#defineMAX(a,b)(abs((a)-(b))==((a)-(b))?(a):(b))中的abs()函數(shù)換成fasb()函數(shù),fabs()所接受的參數(shù)及返回值都是double型的,這樣無(wú)論它是接受整數(shù)還是接受float型的數(shù)據(jù),都不會(huì)因精度問(wèn)題而出現(xiàn)誤差!2.如何輸出源文件的標(biāo)題和目前執(zhí)行行的行數(shù)(不曉得怎么搞,在等兄弟給我答案在?。?.兩個(gè)數(shù)相乘,小數(shù)點(diǎn)后位數(shù)沒(méi)有限制,請(qǐng)寫(xiě)一個(gè)高精度算法算法提示://想法來(lái)自北師大一個(gè)同學(xué)給我看的另一個(gè)題目以及他的java程序。輸入stringa,stringb;計(jì)算stringc=a*b;返回c;1,紀(jì)錄小數(shù)點(diǎn)在a,b中的位置l1,l2,則需要小數(shù)點(diǎn)后移動(dòng)位置數(shù)為l=length(a)+length(b)-l1-l2-2;2,去掉a,b中的小數(shù)點(diǎn),(a,b小數(shù)點(diǎn)后移,使a,b變?yōu)檎麛?shù))3,計(jì)算c=a*b;(要么用java的BigInterger搞,要么自己用C++寫(xiě)高精度數(shù)乘法,超過(guò)百萬(wàn)位,用FFT,我就不細(xì)說(shuō),這都預(yù)先寫(xiě)過(guò)就別做了)4,輸出c,(注意在輸出倒數(shù)第l個(gè)數(shù)時(shí),輸出一個(gè)小數(shù)點(diǎn)。若是輸出的數(shù)少于l個(gè),就補(bǔ)0)4.寫(xiě)一個(gè)病毒(沒(méi)搞過(guò),^_^)5.讓你在100000000個(gè)浮點(diǎn)數(shù)中找出最大的10000個(gè),要求時(shí)間復(fù)雜度優(yōu)。//本算法使用快排,O(n*lg(n))//最低可以找到線(xiàn)性算法,使用預(yù)先區(qū)域統(tǒng)計(jì)劃分!類(lèi)試于構(gòu)造QuadTrees!寫(xiě)起來(lái)代碼會(huì)長(zhǎng)些!#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四個(gè)人,要在夜里過(guò)一座橋。他們通過(guò)這座橋分別需要耗時(shí)1、2、5、10分鐘,只有一支手電,并且同時(shí)最多只能兩個(gè)人一起過(guò)橋。請(qǐng)問(wèn),如何安排,能夠在17分鐘內(nèi)這四個(gè)人都過(guò)橋?Solution:TheFirstTime:A(1)和B(2)過(guò)橋,A(1)返回Cost:1+2TheSecond

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論