解决腾讯百度笔试题:逻辑与数学挑战

4星 · 超过85%的资源 需积分: 10 366 下载量 133 浏览量 更新于2024-08-01 3 收藏 66KB DOC 举报
"腾讯百度实习生笔试题" 这篇内容主要包含了四道智力和编程相关的笔试题,分别涉及逻辑推理、数学计算以及C语言编程技巧。以下是这些题目的详细解答和相关知识点: 1. 桥的问题是一个典型的逻辑优化问题,旨在测试解决问题的策略和规划能力。关键在于最小化总时间,确保每次过桥的组合都能有效利用手电筒。答案是在第17分钟内让所有人都过桥,具体步骤如下: - A&B先过桥(2分钟),A回来(1分钟) - C&D一起过桥(10分钟),B接手电筒回来(2分钟) - A&B再次一起过桥(2分钟)。这个策略充分利用了两人一组的机会,避免了等待时间。 2. 这是一道逻辑推理题。A和B分别知道两个数的和与积,一开始都不知道具体的数。当A说他知道了,意味着和不足以确定两个数,但积可以。B也说他知道,说明B通过积排除了一个可能的组合。因此,这两个数是2和3,因为除了2和3外,没有其他数的和与积能同时满足条件。 3. 生肖问题涉及到概率计算。由于每个人的生肖都有12种可能性,所以至少两个人在同一生肖的概率可以通过排除法计算:1减去所有人生肖都不相同的概率。计算结果为1-55/96=41/96。 4. 假币问题考察的是基本的财务计算。玩具店老板的损失包括两部分:退还给顾客的70元和小熊的进价。由于题目没有给出小熊的进价,我们假设为X,那么损失就是70+X。 5. 宏定义的问题是C语言编程中的常见题目,要求不使用比较操作符来比较两个数a和b的大小。提供的答案使用了位操作,如果a大于b,a-b的二进制表示最高位为0,与0x80000000(最高位为1的32位整数)按位与的结果仍是a,反之,如果a小于b,结果将是b。因此,宏定义正确地返回了较大的数。 6. 计算a^b<<2的问题涉及到C语言的运算符优先级。在这个表达式中,位左移运算符"<<"的优先级高于按位异或"^"。首先,b左移两位,然后与a异或。例如,当a=6,b=4时,结果为224。 7. 最后一个问题是如何在C程序中输出当前源文件名和行号,这是通过预定义宏__FILE__和__LINE__实现的。这两个宏分别代表包含该行代码的源文件名和当前行号。 以上便是对腾讯百度笔试题目的解析,涵盖了逻辑推理、概率计算、位操作、宏定义等多个知识点,这些都是编程面试和学习中常见的挑战。通过解决这些问题,可以提高逻辑思维、问题解决和编程技能。