**题目描述**

居然有假币!!!

事情是这样的,现在猪肉涨了,但是农民的工资却不见涨啊,没钱怎么买猪肉啊。老王这就去买猪肉,结果找来的零钱中有假币!!!可惜老王一不小心把它混进了一堆真币里面去了。现在知道假币的重量比真币的质量要轻。给你一个天平,请用最快的时间把那个可恶的假币找出来。

**输入**

输入有多行,每一行的值为硬币的数目n,1≤n≤2^30,输入0结束程序

**输出**

最少要称多少次一定能把那个假币找出来。输出对应输入行数.

**样例输入**

3

12

0

**样例输出**

1

3

**代码块**

```java

public static void main(String[] args) {

Scanner in = new Scanner(System.in);

int n = in.nextInt();

while (true) {

if (n == 0) {

break;

}

int count = 0;

while (n != 1) {

// 把假币分成3堆

if (n % 3 == 0) {

n = n / 3;//如果能被3整除,正好分成3堆

count++;

} else {

n = n / 3 + 1;//若不能被3整除,保证A,B两堆的硬币数要比C堆的硬币数要大

count++;

}

}

System.out.println(count);

n = in.nextInt();

}

}

}

```

**解题思路**

1.把硬币分成三堆(尽量保证AB两组的数量大于C组)

2.AB两组如果一样重, 则假币在C组,C组重复操作1; AB如果不一样重, 选重量轻的一组, 重复操作1.

3.直到分成的三堆变成 1, 1, 1 或者直接变成1, 1 -> 称重一次即可

0.0分

2 人评分

java 假币问题_假币问题-题解(Java代码)相关推荐

  1. java python算法_用Python,Java和C ++示例解释的排序算法

    java python算法 什么是排序算法? (What is a Sorting Algorithm?) Sorting algorithms are a set of instructions t ...

  2. java 判断类型_如何快速入门Java编程学习(干货)

    一.初识Java 1.生活中的程序: 从起床到教室上课的过程 穿衣打扮>起床>洗漱>出宿舍>>吃早餐>到教室 按照特定的顺序去完成某一件事的过程我们叫做生活中的程序 ...

  3. 支持java虚拟主机_为何缺乏支持Java的虚拟主机

    现在很多站长们,都青睐于香港虚拟主机建站.现在常见的是asp和PHP的程序空间很多,但是Java的少之又少,下面小编我给大家聊一聊! 一.香港Java虚拟主机成本高 使用Java程序建站,就必须要用支 ...

  4. 做Java头发少_这35个Java代码优化细节,你用了吗

    链接:https://www.jianshu.com/p/6e472304b5ac 前言 代码 优化 ,一个很重要的课题.可能有些人觉得没用,一些细小的地方有什么好修改的,改与不改对于代码的运行效率有 ...

  5. 我的世java途径错误_我的世界JAVA路径错误的解决方法分享

    我的世界JAVA路径错误该怎么解决呢?JAVA是Minecraft运行的虚拟环境必要条件,需要您安装后才开始游戏.很多童鞋在安装过程中都遇到了JAVA路径错误的提示,这是什么原因导致的?第一手游网必须 ...

  6. java编程赋值运算符_跟我学java编程—简单赋值运算符“=”

    赋值运算符是双目运算符,用在赋值表达式中.赋值运算符将值存储在运算符左边操作数指定的变量中.有两种赋值操作,简单赋值和复合赋值,简单赋值把运算符右边的操作数的值存储在运算符左边操作数指定的变量中:复合 ...

  7. java session使用_使用Neo4j和Java进行大数据分析 第2部分

    本文的第一部分介绍了Neo4j及其Cypher查询语言.如果您已经阅读了第1部分,那么您已经了解了为什么Neo4j和其他图形数据库特别受社交图形或网络中用户之间关系建模的影响.您还在开发环境中安装了N ...

  8. java 异常信息_优雅的异常处理 -- Java中的异常

    处理异常自己处理 try-catch抛出让别人处理 throws 获得异常信息 直接打印异常对象 通过异常对象调用getMessage()方法获得 通过异常对象调用printStackTrace()方 ...

  9. java基础知识点_零基础学习Java语言,各个阶段需要掌握的知识点

    随社会的脚步的不断发展,Java技术在不断的与时俱进,这也是Java一直长盛不衰的原因之一.Java技术的学习,永远没有早晚之分,技不压身,对于21世纪的我们80后,90后,甚至00后,尤其适用! 那 ...

  10. java类加载过程_面试官:java类的加载过程

    Java 类加载机制 类从被加载到JVM中开始,到卸载为止,整个生命周期包括:加载.验证.准备.解析.初始化.使用和卸载七个阶段. 其中类加载过程包括加载.验证.准备.解析和初始化五个阶段. 类的加载 ...

最新文章

  1. Lync Server 2013 实战系列之六:标准版-安装和更新LyncServer 系统
  2. mysql bigint 运算_mysql中int、bigint、smallint 和 tinyint的区别详细介绍
  3. ASMCMD 命令详解
  4. ansible自动化管理
  5. colab中的在Github中保存一份副本无法保存到自己github
  6. javascript中es6语法
  7. ul li前面的点怎么变大_硅片尺寸变大,生产成本降低,光伏电池生产商转向更大尺寸硅片...
  8. webservice python开发接口_基于Python的Webservice开发(四)-泛微OA的SOAP接口
  9. 2021级C语言大作业 - 涂鸦跳跃
  10. 为什么说阿里巴巴已进化成为一家世界级的科技公司?
  11. 验证码原理详解与案例
  12. 海康网络摄像头实时预览OCX控件
  13. uniapp小程序解压压缩包 (使用jszip)
  14. 使用MASM 5编译程序的便利批处理
  15. CSS度量单位rem、em、vw、vh详解
  16. mysql评论回复表设计_数据库设计——评论回复功能
  17. Shell 正则表达式与sed实例
  18. IE和标准下有哪些兼容性的写法
  19. 二分查找总结——左闭右开区间和左闭右闭区间(C++语言)
  20. 3D模型轻量化处理教程【Blender】

热门文章

  1. zuk z2 android 8,骁龙820享受安卓8.0!ZUK Z2悄然升级ZUI 4.0
  2. stm32 IAP 程序编写心得
  3. 洛谷——P1560 [USACO5.2]蜗牛的旅行Snail Trails
  4. 让幽默态度在工作上发挥蝴蝶效应
  5. 入门必备小游戏之炸金花
  6. 解密QQ图标升级计划
  7. 陈敏 Java课设实验报告
  8. 如何高效,安全,稳定的管理多个亚马逊,facebook,google等帐号? 如何配合使用VMlogin防关联,反指纹浏览器操作,同时多开多个帐号?911 S5 多端口转发如何设置?
  9. 相机快门和曝光时间的确定
  10. Linux | 深入理解X86和小型机,UNIX和Linux