博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
称金币问题
阅读量:2384 次
发布时间:2019-05-10

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

作者:俊逸君故

来源:CSDN
原文:https://blog.csdn.net/sinat_24568351/article/details/72793795
版权声明:本文为博主原创文章,转载请附上博文链接!

称金币问题:

有27枚金币,其中一个是假的。假的比真的略轻。现在有一个天平,问最少几次可以找出假币?

1.此类题的最佳策略:
将总数尽可能等量的分三组进行测重:每称两组的时候,自然的能和剩下的一组进行比较。
所以结果为log3(27) = 3次

2.通式:[m = log3(n)]max

(m为需要测量的次数,n为金币总数,max代表取整数最大值;)

如:若n=26则m=3;

若n=28则m=4;

若m=81则m=4;

你可能感兴趣的文章
红黑树的自旋转和结点插入操作的解析
查看>>
二叉搜索(排序)树的插入、删除、查找、遍历等有关函数实现
查看>>
冒泡排序,选择排序,插入排序,希尔排序,快速排序,堆排,堆排接口sqort()的实现
查看>>
数据结构与算法习题:快排,堆排,计数排序,qsort对链表进行排序,哈希函数的使用,第K大数的单机查找和双机查找
查看>>
二叉查找(搜索)树结点的插入,删除,旋转,广度和深度优先遍历
查看>>
setjmp函数的简单用途
查看>>
因为存在依赖问题使ubuntu18.04下apt-get install gcc g++安装失败的解决方案
查看>>
安装vimplus后,youCompleteme插件安装失败的解决方案
查看>>
采用git修改某个远程仓库的文件并上传的操作命令
查看>>
gcc编译工具的基本操作命令
查看>>
实现简单函数的动态库和静态库的建立
查看>>
实现简单的Makefile工程管理器
查看>>
gdb调试工具的基本命令
查看>>
vim编辑器的常用命令
查看>>
linux中文件操作的常用命令总结
查看>>
添加SSH公钥来实现免密码登录
查看>>
学生管理系统,链表的增删改查,C语言文件操作,动态内存的分配和使用
查看>>
动态内存分配和释放:malloc,realloc,calloc,free函数
查看>>
使用qsort对结构体指针数组根据compare规则进行排序
查看>>
Linux 基于文件描述符的文件操作 open,close,read,write,lseek,stat,fstat,ftruncate
查看>>