Description

有这样一个众所周知的问题:

你面前有7个硬币,其中有一个劣质的(它比正常的硬币轻一点点),你有一个天平,问需要你需要使用天平多少次能保证找到那个劣质的硬币。

众所周知的算法是:

第一次 把7个硬币分成3+3+1一共3堆,把前两堆放到天平的两端,若天平平了说明第三堆即剩下的那一枚硬币是劣质的,否则劣质的硬币在较轻的那一堆。

第二次 把3个硬币分成1+1+1一共3堆,把前两堆放到天平的两端,若天平平了说明第三堆即剩下的那一枚硬币是劣质的,否则劣质的硬币是较轻的那一堆的那一个硬币。

综上一共需要两次。

那么如果是9枚硬币呢?

第一次 把9个硬币分成4+4+1一共3堆,把前两堆放到天平的两端,若天平平了说明第三堆即剩下的那一枚硬币是劣质的,否则劣质的硬币在较轻的那一堆。

第二次 把4个硬币分成2+2一共2堆,把这两堆放到天平的两端,天平必然会倾斜,说明劣质的硬币在较轻的那一堆。

第三次 把2个硬币分成1+1一共2堆,把这两堆放到天平的两端,天平必然会倾斜,说明劣质的硬币是较轻的那一堆的那个硬币。

综上一共需要三次。

现在,问题来了。要是摆在你面前的是n枚硬币,你需要用以上描述的这种算法操作多少次,才能保证找到那个劣质的硬币呢?

Input

一行一个正整数n,表示硬币的总数。

n < =109

Output

一行一个整数,表示需要使用天平多少次能保证找到那个劣质的硬币

Sample Input

7

Sample Output

2

题意:这题看过程就知道了,每次分成两堆,能整份两堆就是一人一半,不然就拿出一个,剩下的分成一人一半,然后最后剩到一人一个的时候(所以是>=2,不是>2)就知道谁轻了。
#include <iostream>
#include <cstring>
#include <cstdio>
#include <algorithm>
#include <math.h>
#include <set>
using namespace std;
int n,x,temp;
int main()
{
cin>>n;
int ans=;
while(n>=)
{
ans++;
n=n/;
}
cout<<ans<<endl;
return ;
} /**********************************************************************
Problem: 2219
User: therang
Language: C++
Result: AC
Time:4 ms
Memory:2020 kb
**********************************************************************/

最新文章

  1. mysql_connect() php7不支持,php5.5可以,是废弃函数
  2. noip模拟赛(10.4) 序列(sequence)
  3. php实现文件上传下载功能小结
  4. java环境搭建系列:JDK从下载安装到简单使用
  5. selenium—JS点击方法
  6. 先来个xmpp学习连接
  7. Java好文统计( 引用 )
  8. JavaEE参考示例 SpringSide 4.0 GA版杀青
  9. Oracle- 分页例子
  10. Windows 下Oracle database 9i 64bit 仅仅有 Windows Itanium 64bit
  11. Docker: How to enable/disable HTTP Proxy in Toolbox
  12. ruby读取源代码自身的一种方法
  13. [图形]图形API的两种模式
  14. openshift 容器云从入门到崩溃之十《容器监控-数据展示》
  15. centos7.2 安装 mysql5.7
  16. AEAI DP V3.8.0 升级说明,开源综合应用开发平台
  17. Cropperjs 插件知识点
  18. BZOJ 2878 【NOI2012】 迷失游乐园
  19. 一、JSON解析与字符串化
  20. 浅析C#中的IEquatable&lt;T&gt;接口

热门文章

  1. C语言的随机发牌程序(红桃、黑桃、梅花、方块)
  2. 0 Java实现 一篇文章说尽设计模式之六大原则
  3. 使用Docker Compose编排微服务
  4. API+RESTful
  5. CAD中的相对坐标和绝对坐标
  6. 查找MySQL和 SQL sever data
  7. 配置yum源的步骤(阿里源)
  8. 环境变量解释以及在Linux下的环境变量设置
  9. Sign on Fence CodeForces - 484E
  10. 题解报告:hdu 1406 完数