天秤称重问题:异常小球称量次数求解

异常小球称量次数求解

题目:一架天平,n个小球,其中有一个小球重量比其他小球重,找出这个小球,最坏情况下最好称几次?

假设称重次数函数关系f,则称重次数为f(n),其中n为小球个数

分析:
f(0)无意义;
f(1) = 0;
f(2) = 1;
f(3) = 1;
f(4) = 2; -> f(2)/f(2) -> f(2) ==> 1+1
f(5) = 2; -> f(2)/f(2) -> f(2) ==> 1+1
f(6) = 2; -> f(2)/f(2) -> f(2) ==> 1+1
f(7) = 2; -> f(3)/f(3) -> f(3) ==> 1+1
f(8) = 2; -> f(3)/f(3) -> f(3) ==> 1+1
f(9) = 2; -> f(3)/f(3) -> f(3) ==> 1+1
f(10) = 3; -> f(4)/f(4) -> f(4) ==> 2+1
f(11) = 3; -> f(4)/f(4) -> f(4) ==> 2+1
.
.
.
f(27) = 3; -> f(9)/f(9) -> f(9) ==> 2+1
f(28) = 4; -> f(10)/f(10) -> f(10) ==> 3+1
.
.
.

总结:
f(1) = 0;
f(2) = 1;
f(3) = 1;

f(n) = f((n+2)/3) + 1;(n>1)
==>
n > 1时,log(n)/log(3),表示log以3为底对n取对数
f(n) = (int)log(n)/log(3); //向上取整
或者
f(n)= (int)log(n-1)/log(3)+1 //向下取整

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值