小易去附近的商店买苹果,奸诈的商贩使用了捆绑交易,只提供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编程题-买苹果相关推荐

  1. [java编程题]买苹果

    题目描述 链接:https://www.nowcoder.com/questionTerminal/61cfbb2e62104bc8aa3da5d44d38a6ef 小易去附近的商店买苹果,奸诈的商贩 ...

  2. java经典50道_50道经典的JAVA编程题(41-45)

    50道经典的JAVA编程题(41-45),苦逼的程序猿,晚上睡不着了编程吧~今天坚持做10道题!发现编程能是我快乐...O(∩_∩)O哈哈~能平静我烦乱的心,剩下5道题留到考试完了再做吧!该睡觉了.. ...

  3. java 编程题_最新JAVA编程题全集(50题及答案)92862

    <最新JAVA编程题全集(50题及答案)92862>由会员分享,可在线阅读,更多相关<最新JAVA编程题全集(50题及答案)92862(32页珍藏版)>请在人人文库网上搜索. ...

  4. 质量不同的球java编程_荐非常经典的java编程题全集-共50题(1-10)...

    非常经典的java编程题 程序1:斐波那契数列问题 题目概述: 古典问题: 有一对兔子,从出生第三个月起每月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多 ...

  5. java语言编程三角形图形_编程题:编写程序输入三角形的3条边长,计算并输出... 求助一道JAVA编程题:编写一个类似记事本的图形用......

    导航:网站首页 > 编程题:编写程序输入三角形的3条边长,计算并输出... 求助一道JAVA编程题:编写一个类似记事本的图形用... 编程题:编写程序输入三角形的3条边长,计算并输出... 求助 ...

  6. java类求圆的面积周长_java编程 1. 设计一个求圆的面积和周长的类,要求:1计算当半径r,JAVA编程题。编写一个应用程序计算圆的周长和面积,设圆的半...

    问题标题 java编程 1. 设计一个求圆的面积和周长的类,要求:1计算当半径r,JAVA编程题.编写一个应用程序计算圆的周长和面积,设圆的半 2019-5-23来自ip:15.196.194.53的 ...

  7. java设计一个形状shape_编程定义一个图形接口 Shape, 内含2个抽象方法 get... JAVA编程题:编一个程序包含一个接口 shape(该接......

    导航:网站首页 > 编程定义一个图形接口 Shape, 内含2个抽象方法 get... JAVA编程题:编一个程序包含一个接口 shape(该接... 编程定义一个图形接口 Shape, 内含2 ...

  8. java编程50_荐非常经典的java编程题全集-共50题(1-10)...

    非常经典的java编程题 程序1:斐波那契数列问题 题目概述: 古典问题: 有一对兔子,从出生第三个月起每月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多 ...

  9. 一些简单的java编程题(2) ————古典问题(兔子问题)

    版权声明: 本文为博主原创文章,未经博主允许不得转载. /* (程序头部注释开始) 版权声明:保留个人权利. 如程序有不当之处,敬请指正.* 文件名称: <一些简单的java编程题(2) --- ...

最新文章

  1. 柠檬网络电视_睡觉时旁边放柠檬,真能促进长高提升记忆力?权威解答来了
  2. 2021年互联网企业软件测试面试题(超实用)
  3. java List 排序 Collections.sort() 对 List 排序
  4. [深度学习] 自然语言处理 --- Self-Attention(一) 基本介绍
  5. LeetCode 783. 二叉搜索树结点最小距离(中序遍历)
  6. RHEL7安装ZABBIX 3.2
  7. input 限制只能输入数字,且保留小数后两位
  8. g++ 安装python_一个有意思还有用的Python包汉字转换拼音
  9. sublime text3之使用等宽字体
  10. 《大型多人在线游戏开发》读书笔记
  11. Springboot集成Screw生成数据库表结构文档
  12. Debian下的搜狗拼音安装个人心得
  13. java short 写法_Java Short类shortValue()方法及示例
  14. android提交sql语句,sql的提交 - 亭子happy的个人页面 - OSCHINA - 中文开源技术交流社区...
  15. 流行手机谜语大解密 (爱情诗)
  16. 长沙博物馆 乐在其中,思在其中
  17. 微信公众号+Vue+JS-SDK配置注册失败,显示config:fail,Error: 系统错误,错误码:63002,invalid signature等解决方法
  18. 携程2021春招笔试
  19. php 子都接受邮件,php iamp 接收邮件,收取邮件,获取邮件列表
  20. visual studio新手使用教程

热门文章

  1. 一毕业就上了艘“火箭”,这群校招生在大公司创业
  2. T54 Origin导出图片
  3. 回归方程的拟合优度检验_判定一元线性回归方程拟合优度的判定系数R的取值范围...
  4. Halcon图像修复
  5. 阿里云域名https证书(ssl证书)配置
  6. 利用office2010 word2010生成目录
  7. 免费赠书,元旦快乐!
  8. 苹果手机4位密码突然变6位密码了怎么回事怎么解锁?
  9. tkinter 的界面美化库:ttkbootstrap 使用教程
  10. 名帖52 王献之 小楷《洛神赋》