首页
Python
Java
前端
数据库
Linux
Chatgpt专题
开发者工具箱
假币专题
找假币
一个国王要赏赐一个大臣30枚金币,但其中有一枚是假币。国王提出要求:只能用一个天平作为测量工具,并用尽量少的比较次数找出这枚假币,那么余下的29枚金币就赏赐给这个大臣;否则这个大臣将得不到赏赐。已知假币要比真币的分量略轻一些。 样例输入: 30 2 2 2 2 2 2 2 2 2 2 1 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 样例输出
阅读更多...
120 - 算法 - 枚举算法 2692 假币问题
#include <iostream>#include <cstdio>using namespace std;/*问题:枚举问题 解决办法openjudge:2692假币问题解决思路:考虑每一个位置 为轻light 为heavy 为even计算符合这个假设情况既可以输出。时间:2021年3月30日0时38分*///数据结构定义int status[12];char left1[3][
阅读更多...
在120枚外观相同的硬币中,有一枚是假币,并且已知假币与真币的重量不同,但不知道假币与真币相比较轻还是较重。可以通过一架天平来任意比较两组硬币,最坏情况下,能不能只比较5次就检测出这枚假币?
能 这道题目我想先通过另外一道题目引入我的方法: 在13枚外观相同的硬币中,有一枚是假币,并且已知假币与真币的重量不同,但不知道假币与真币相比较轻还是较重。可以通过一架天平来任意比较两组硬币,最坏情况下,能不能只比较3次就检测出这枚假币? 将13枚硬币分为三组 ABCD EFGH IJKLM 这里引入一个概念,每次天平倾斜方向称之为X方向、Y方向、和平衡 X方向不一定就是向左倾斜,
阅读更多...
12硬币中有一个不知道轻重的假币,用天平将它找出来
问题1:假设有8个硬币,里面有一个硬币是假币,并且知道它是重了还是轻了(假设是轻了),现在给你一个天平,要求用最小次数将这个硬币找出来. 这时候可以用一种类似二分法的算法来找出这个假币.将左边4个和右边4个比较,因为知道硬币是轻了,所以很快就能确定那堆硬币里面有假币,这时候问题的规模由原来的8变成了4....然后对4个硬币也采用同样的办法...最终3次找出那个假硬币 问
阅读更多...
【计蒜客】假币问题 (水题)
思路: 把这个人的运气当成最差的,只要硬币数不是1就找不到假币。所以就用它循环除2,看循环次数就行了。 AC: #include<iostream>using namespace std;typedef long long ll;int main(){ll m,d;while(cin >> m){d=0;while(m!=1){m/=2;d++;}cout << d << endl;
阅读更多...
减治法(引例中位数、查找问题:折半二叉选择、排序问题:堆排序、组合问题:淘汰赛冠军问题假币问题)
分治法需要对分解的子问题分别求解,再对子问题进行合并,减治法只对一个子问题求解,并且不需要进行解的合并。减治法的效率更好。 *时间复杂性为log2n *思路:如果n=1,返回a的值;n是偶数且n>1,把该问题的规模减半,计算a^n/2的值;n是奇数且n>1,先利用偶指数的规则计算a^(n-1),再把结果乘以a a n=1 a^n= (a^n/2)^2
阅读更多...
查找假币--天平秤重法(C++,完善版)
一、题目 编写一个实验程序查找假币,有n(n>3)个硬币,其中有一个假币,且假币较轻,采用天平秤重方式找到这个假币,并给出操作步骤。 本篇文章是基于博主(逆风的蔷薇)的思路进行进一步完善的,感谢大神的思路!! 附原文链接: http:// https://blog.csdn.net/fly_yr/article/details/48350551?utm_source=app&app_ver
阅读更多...