博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
最少的次数
阅读量:7078 次
发布时间:2019-06-28

本文共 928 字,大约阅读时间需要 3 分钟。

2191: 最少的次数

Time Limit: 1 Sec  Memory Limit: 512 MB
Submit: 553  Solved: 73
[][][]

Description

这一天,成都东软学院ACM团队举办了一场游戏。游戏是这样的:

在桌上有一堆糖,其中有一颗糖与其他糖外观一模一样,但重量却明显轻。现在得知桌上共有N颗糖,还有一个天平,问最少需要多少次一定能准确的找出该糖?今天作为比赛中的你,相信这一问题应该不是什么难事,加油吧!

Input

第一行包含一个数m,表示后面有m个测试数据

第二行起共m行有一个数n,(1 <= n <= 263-1)表示糖的个数

Output

输出格式如下:

首先输出Case n: (n表示答案计数,其中Case后面包含一个空格,':'后面包含一个空格,请注意!)

后面输出相应的最小次数

Sample Input

2
1
2

Sample Output

Case 1: 0
Case 2: 1

HINT

 

Source

 

#include 
int main(){ int n; scanf("%d",&n); int t=0; long long m; while(n--) { int k=0; scanf("%lld",&m); while(m>1) { if(m%3!=0) m=m+(3-m%3); m/=3; k++; } printf("Case %d: %d\n",++t,k); } return 0;}

相比2分,三分能算出更少的次数,如果是分成4份以上就成堆无法判断了!

把糖果平均分成3份,不能整除的补成能被3整除的,看它能被3除几次!能除一次,就是3份比较1次,排除掉另外三分之二的糖果! 

也就是算log以3为底的m

转载于:https://www.cnblogs.com/tianmin123/p/5255033.html

你可能感兴趣的文章
python函数定义
查看>>
服务器的安装
查看>>
如何优雅的处理异常(java)?
查看>>
VRRP 虚拟冗余路由协议
查看>>
express不是内部或外部命令
查看>>
通过反射获取成员方法并使用
查看>>
String StringBuffer StringBuilder
查看>>
bash的工作特性及命令状态返回查询
查看>>
Samba服务共享(匿名用户访问、本地用户访问、虚拟用户访问)
查看>>
HttpServletResponse输出乱码的问题
查看>>
你真的很熟分布式和事务吗?
查看>>
基于ThreadPoolExecutor实现工作引擎参考
查看>>
Go语言的基本数据类型
查看>>
WEB测试:***apache
查看>>
42 个移动端启动页面优化 Tips
查看>>
Egret之ProtoBuf安装
查看>>
Cocos2d-x3.0游戏实例《别救我》目录
查看>>
我的友情链接
查看>>
ASP开发中数据库文件调用的捷径
查看>>
debian启动项与服务设置
查看>>