zoukankan      html  css  js  c++  java
  • 腾讯笔试题

    自己在网上找的腾讯的笔试题(研发类),没有答案,就没个题自己做做,不会的就网上查资料。现在整理如下:

    1、请定义一个宏,比较两个数a、b 的大小,不能使用大于、小于、if 语句

    答案:

    #define max(a,b) (((a)-(b))&(1<<31))?(b):(a)

    2、如何输出源文件的标题和目前执行行的行数

    答案:
    #incluede<stdio.h>
    #include<tchar.h>
    #include<Windows.h>
    
    int main(){
       int nLine=__FILE__;
       TCHAR *pFIle=_T(__FILE__);
       _tprintf(TEXT("the file name is %s\r\n,line number is %d.\r\n"),pFile,nLine);
       
       return 0;
    }

     这主要是运用了ANSI C和Microsoft C++预先定义的一些宏来实现的。不止这两个,还有下面这些比较常用的:
    1)__DATE__:当前文件的编译日期。与在time.h中定义的asctime函数返回的格式一样,即是Mmm DD yyyy(月、日、年);
    2)__FILE__:当前源文件的名称。字符串格式(const char);
    3)__LINE__:当前代码在源文件中的行数。一个整数。
    4)__TIME__:当前源文件的编译时间。一个字符串(hh:mm:ss);
    5)__TIMESTAMP__:当前源文件最后编译的日期时间。一个字符串(格式为:Ddd Mmm Date hh:mm:ss yyyy,即星期几、月、日、时、分、秒、年);

    其中通过宏__FILE__和__LIEN__可以快速的定位程序出错的文件和位置,并通过Email的形式发送给开发人员,从而进行快速维护。

    3、两个数相乘,小数点后位数没有限制,请写一个高精度算法

    答案:
    算法提示:
    输入 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; (同整数的大数相乘算法)
    
    
    4,   输出c,(注意在输出倒数第l个数时,输出一个小数点。若是输出的数少于l个,就补0)

    4、写一个病毒

    粘个帖子在这吧,病毒这个我不会..

    5、有A、B、C、D 四个人,要在夜里过一座桥。他们通过这座桥分别需要耗时1、2、5、10 分钟,只有一支手电,并且同时最多只能两个人一起过桥。
    请问,如何安排,能够在17 分钟内这四个人都过桥?

    这个比较简单的:
    A+B过去(2分钟)
    A回来(1分钟)
    C+D过去(10分钟)
    B回来(2分钟)
    A+B过去(2分钟)        一共17分钟



  • 相关阅读:
    poj3613 求经过n条边的最短路 ----矩阵玩出新高度 。
    牛客练习赛43 Tachibana Kanade Loves Game (简单容斥)
    牛客练习赛43 Tachibana Kanade Loves Review C(最小生成树Kruskal)
    牛客练习赛43 Tachibana Kanade Loves Probability(快速幂)
    哈尔滨工程大学ACM预热赛 G题 A hard problem(数位dp)
    poj 3252 Round Numbers(数位dp 处理前导零)
    hdu 3652 B-number(数位dp)
    poj 3666 Making the Grade(离散化+dp)
    poj 3186 Treats for the Cows(dp)
    poj 1661 Help Jimmy (dp)
  • 原文地址:https://www.cnblogs.com/NewWork/p/3260577.html
Copyright © 2011-2022 走看看