帆软-秋招提前批-笔试

单选

1. 有四个同学,每个人得到的桃子数量不同,4个到7个之间。然后,4个人都吃掉了1个或2个桃,结果每个人剩下的桃数量还是各不相同。4个人吃过桃后,说了如下的话。其中,吃了2个桃的人撒谎了,吃了1个桃的人说了实话。

安娜:"我吃过红色的桃。"                  杰瑞:"安娜现在手里有4个桃。" 

凯特:"我和简一共吃了 3个桃。"        简:"杰瑞吃了2个桃。凯特现在拿着的桃数量不是3个。"

请问:最初杰瑞手里有几个桃?
A. 5        B. 7        C. 6        D. 4

解析:

  1. 吃了 2 个桃的人撒谎,吃了 1 个桃的人说实话。因此,我们需要找到谁撒谎,谁说实话。

  2. 简的陈述: 她说“杰瑞吃了 2 个桃”,这意味着如果她说实话,杰瑞必须吃了 2 个桃,简自己吃了 1 个桃。如果简撒谎,杰瑞吃的桃子数量就不同,简自己则吃了 2 个桃。

  3. 凯特的陈述: 她说“我和简一共吃了 3 个桃”,如果凯特说实话,那么凯特和简合起来必须吃了 3 个桃。

  4. 杰瑞的陈述: 他声称“安娜现在手里有 4 个桃”。如果杰瑞撒谎,意味着他吃了 2 个桃。

  5. 根据以上推论,我们需要尝试不同的组合,确定谁吃了 1 个或 2 个桃,并最终推断杰瑞最初的桃子数量。

  • 假设杰瑞吃了 2 个桃(因为简说他吃了 2 个,如果简撒谎,杰瑞的情况需要与此不同)。
  • 如果杰瑞撒谎,他应该吃了 2 个桃,而简则说了实话,这样凯特和简吃了 3 个桃。
  • 假设安娜现在手里有 4 个桃,根据杰瑞的说法,结合桃子数量的唯一性,我们推断杰瑞最初的桃子数量为 6

2. 一棵哈夫曼树共有215个结点,对其进行哈夫曼编码,共能得到多少个不同的码字?
A. 108            B. 215            C. 214        D. 107

解析:在哈夫曼树中,叶子节点的数量等于可以得到的不同码字的数量。每个叶子节点代表一个符号或字符,而非叶子节点(内部节点)则是构建哈夫曼编码树所需的中间节点。

对于一棵有 n 个叶子节点的哈夫曼树,树的总节点数是 2n−1,因为每个内部节点连接两个子节点(叶子节点或其他内部节点),而根节点不与任何其他节点连接。

给定题目中哈夫曼树共有 215 个节点,我们可以计算叶子节点的数量:

2n−1=215;2n=216;n=108

因此,这棵哈夫曼树共有 108 个叶子节点,也就能得到 108 个不同的哈夫曼编码码字。

3. 变量a是一个64位有符号的整数,初始值用16进制表示为:0x7FFFFFFFFFFFFFFF;变量b是一个64位有符号的整数,初始值用16进制表示为:0x8000000000000000。则a+b的结果用10进制表示为多少?
A. -1        B. -(2^63+2^62+...+2^2+2^1+2^0)        C. 2^63+2^62+...+2^2+2^1+2^0        D. 1

解析:首先,我们需要分析 ab 的值:

  • 0x7FFFFFFFFFFFFFFF 是 64 位有符号整数的最大正值,对应的十进制值为2^{63} - 1,也就是 9223372036854775807

  • 0x8000000000000000 是 64 位有符号整数的最小负值,对应的十进制值为 -2^{63},也就是 -9223372036854775808

接下来,计算 a + b:a=9223372036854775807, b=−9223372036854775808

因此,计算结果为:a+b=9223372036854775807+(−9223372036854775808)=−1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值