Java编程题-买苹果
小易去附近的商店买苹果,奸诈的商贩使用了捆绑交易,只提供6个每袋和8个每袋的包装(包装不可拆分)。
可是小易现在只想购买恰好n个苹果,小易想购买尽量少的袋数方便携带。如果不能购买恰好n个苹果,小易
将不会购买。
输入描述:
输入一个整数n,表示小易想购买n(1 ≤ n ≤ 100)个苹果
输出描述:
输出一个整数表示最少需要购买的袋数,如果不能买恰好n个苹果则输出-1
解题思路:
1.对数字特征进行分析。首先,6和8都是偶数。因此,能凑出的数也是偶数。那么程序中如果苹果总数是奇数时,可以直接返回-1;偶数个苹果数对8取模,其结果只可能为0,2,4,6。若余数为6或0,则可以直接用6个的包装处理或者不处理,不需要回溯;若余数为4,只需回溯1次即可,因为8+4=12,12%6=0;若余数为2,则需回溯两次,因为8+8+2=12,12%6=0。
2.(由于数字6和8的特征,本方法只适用于本题。)
情况一:若num
不是偶数,则直接返回-1;
情况二:若num%8=0
,则返回num/8
;
情况三:若num%8!=0
,则只需回溯1次或者2次8包装购买个数,就可以求解。回溯1次,其结果为num/8-1+2=num/8+1
;回溯2次,其结果为num/8-2+3=num/8+1
。
代码实现:
import java.util.Scanner;
public class Main{public static void main(String[] args){Scanner sc = new Scanner(System.in);while(sc.hasNext()){int num = sc.nextInt();System.out.println(byeApple(num));}}public static int byeApple(int num){if(num % 2 != 0 || num == 10 || num < 6){return -1;}if(num % 8 == 0){return num / 8;}return num / 8 + 1;}
}
Java编程题-买苹果相关推荐
- [java编程题]买苹果
题目描述 链接:https://www.nowcoder.com/questionTerminal/61cfbb2e62104bc8aa3da5d44d38a6ef 小易去附近的商店买苹果,奸诈的商贩 ...
- java经典50道_50道经典的JAVA编程题(41-45)
50道经典的JAVA编程题(41-45),苦逼的程序猿,晚上睡不着了编程吧~今天坚持做10道题!发现编程能是我快乐...O(∩_∩)O哈哈~能平静我烦乱的心,剩下5道题留到考试完了再做吧!该睡觉了.. ...
- java 编程题_最新JAVA编程题全集(50题及答案)92862
<最新JAVA编程题全集(50题及答案)92862>由会员分享,可在线阅读,更多相关<最新JAVA编程题全集(50题及答案)92862(32页珍藏版)>请在人人文库网上搜索. ...
- 质量不同的球java编程_荐非常经典的java编程题全集-共50题(1-10)...
非常经典的java编程题 程序1:斐波那契数列问题 题目概述: 古典问题: 有一对兔子,从出生第三个月起每月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多 ...
- java语言编程三角形图形_编程题:编写程序输入三角形的3条边长,计算并输出... 求助一道JAVA编程题:编写一个类似记事本的图形用......
导航:网站首页 > 编程题:编写程序输入三角形的3条边长,计算并输出... 求助一道JAVA编程题:编写一个类似记事本的图形用... 编程题:编写程序输入三角形的3条边长,计算并输出... 求助 ...
- java类求圆的面积周长_java编程 1. 设计一个求圆的面积和周长的类,要求:1计算当半径r,JAVA编程题。编写一个应用程序计算圆的周长和面积,设圆的半...
问题标题 java编程 1. 设计一个求圆的面积和周长的类,要求:1计算当半径r,JAVA编程题.编写一个应用程序计算圆的周长和面积,设圆的半 2019-5-23来自ip:15.196.194.53的 ...
- java设计一个形状shape_编程定义一个图形接口 Shape, 内含2个抽象方法 get... JAVA编程题:编一个程序包含一个接口 shape(该接......
导航:网站首页 > 编程定义一个图形接口 Shape, 内含2个抽象方法 get... JAVA编程题:编一个程序包含一个接口 shape(该接... 编程定义一个图形接口 Shape, 内含2 ...
- java编程50_荐非常经典的java编程题全集-共50题(1-10)...
非常经典的java编程题 程序1:斐波那契数列问题 题目概述: 古典问题: 有一对兔子,从出生第三个月起每月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多 ...
- 一些简单的java编程题(2) ————古典问题(兔子问题)
版权声明: 本文为博主原创文章,未经博主允许不得转载. /* (程序头部注释开始) 版权声明:保留个人权利. 如程序有不当之处,敬请指正.* 文件名称: <一些简单的java编程题(2) --- ...
最新文章
- 柠檬网络电视_睡觉时旁边放柠檬,真能促进长高提升记忆力?权威解答来了
- 2021年互联网企业软件测试面试题(超实用)
- java List 排序 Collections.sort() 对 List 排序
- [深度学习] 自然语言处理 --- Self-Attention(一) 基本介绍
- LeetCode 783. 二叉搜索树结点最小距离(中序遍历)
- RHEL7安装ZABBIX 3.2
- input 限制只能输入数字,且保留小数后两位
- g++ 安装python_一个有意思还有用的Python包汉字转换拼音
- sublime text3之使用等宽字体
- 《大型多人在线游戏开发》读书笔记
- Springboot集成Screw生成数据库表结构文档
- Debian下的搜狗拼音安装个人心得
- java short 写法_Java Short类shortValue()方法及示例
- android提交sql语句,sql的提交 - 亭子happy的个人页面 - OSCHINA - 中文开源技术交流社区...
- 流行手机谜语大解密 (爱情诗)
- 长沙博物馆 乐在其中,思在其中
- 微信公众号+Vue+JS-SDK配置注册失败,显示config:fail,Error: 系统错误,错误码:63002,invalid signature等解决方法
- 携程2021春招笔试
- php 子都接受邮件,php iamp 接收邮件,收取邮件,获取邮件列表
- visual studio新手使用教程