51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 5344|回复: 5
打印 上一主题 下一主题

[求助] 一道有趣的华为笔试题

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2007-8-9 20:28:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
上周去华为终端固网面试,有到题目很有意思,现公布给大家

题目:1到40的整数,选取其中四个作为天平的砝码重量,这四个砝码的组合可以称出1到40的任意整数重量,这四个数字是什么?
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2007-8-10 22:36:10 | 只看该作者
没思路,顶上去
回复 支持 反对

使用道具 举报

该用户从未签到

3#
发表于 2007-8-11 09:54:26 | 只看该作者
与钱币差不多
回复 支持 反对

使用道具 举报

该用户从未签到

4#
发表于 2007-8-11 11:26:51 | 只看该作者
把砝码放在一端的话,至少需要6个砝码:1,2,4,8,16,32
砝码允许放在两端的话,至少需要4个砝码:1,3,9,27
情况类似的原因,只解释一下第二种情况:
称出1克需要一个1个的砝码,同样2克也需要一个2克的砝码,1克、2克的砝码则可以称出1、2、3,同样1克、3克可以称出1克、(3-1)克(放在两端)、3克、(3+1)克,再添加一个9克的则可以称出1克到13克的任意整数克,推广的话:用1,3,3^2,……3^n-1克可以称出从1克到(1+3+3^2+……+3^n-1)即1/2(3^n-1)克中的任意一切整数克。
当量程给定时,要确定最少必备的砝码,只需把最大的克数化为进位数,在求各位数码时余数只许是1,0或-1即可。
更为准确的表达是:
要称出1克到n克中的任意整数克数,再只允许放在一端情况下的关键是把:1+x+x^2+……+x^n分解成1+x^a+x^2a+……+x^ma的形式;
同样在两端允许放砝码的情况下则是把:x^-n+x^(-n+1)+……+x^-1+x+x^2+……+x^n分解成x^-(ma)+……+x^-a+1+x^a+……+x^(ma),其中n为要求的最大克数,a就是所需的砝码克数。
比如上个例子(放在两端的情况下)共有8种可能,给出的组合是用砝码最少同时也是唯一没有重复用砝码

[ 本帖最后由 shanxi 于 2007-8-11 11:30 编辑 ]
回复 支持 反对

使用道具 举报

该用户从未签到

5#
 楼主| 发表于 2007-8-11 12:54:57 | 只看该作者
shanxi好佩服你呀,你这些知识怎么学来的,分享下,我现在做软件测试才1年多,感觉好多东东要学习,压力好大
回复 支持 反对

使用道具 举报

该用户从未签到

6#
发表于 2007-8-28 14:24:11 | 只看该作者
晕!原来这么简单
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-11-14 14:49 , Processed in 0.069705 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表