热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

[编程题]有假币

有假币链接:https:www.nowcoder.comquestionTerminal1d18c0841e64454cbc3afaea05e2f63c来源

有假币

链接:https://www.nowcoder.com/questionTerminal/1d18c0841e64454cbc3afaea05e2f63c
来源:牛客网

题目描述:
居然有假币! 现在猪肉涨了,但是农民的工资却不见涨啊,没钱怎么买猪肉啊。nowcoder这就去买猪肉,结果找来的零钱中有假币!!!可惜nowcoder 一不小心把它混进了一堆真币里面去了。只知道假币的重量比真币的质量要轻,给你一个天平(天平两端能容纳无限个硬币),请用最快的时间把那个可恶的假币找出来。

解题思路:
将硬币分为A、B、C三份:
若A 若A>B,即假币在B中;
若A=B,即假币在C中。
以上将一堆硬币分为三份,是最快找到假币的方式,题目要求最多需要称几次,即就是最坏的情况即假币每次都在三份最多的那份里(分三份不总是均分)。
对于n个硬币,不停的循环操作,每次分三份,取最多的那份,即为 n/3 向上取整,直到n=1或n=2为止。

import java.util.*;public class Main{public static void main(String[] args){Scanner scanner = new Scanner(System.in);while(scanner.hasNext()){int n = scanner.nextInt();int count = 0;if(n == 0){break;}while(n >= 2){n = (int)Math.ceil((double)n / 3);count++;}System.out.println(count);}}
}


推荐阅读
author-avatar
矮辛楚楚拉_760
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有