题目描述

链接:https://www.nowcoder.com/questionTerminal/61cfbb2e62104bc8aa3da5d44d38a6ef
小易去附近的商店买苹果,奸诈的商贩使用了捆绑交易,只提供6个每袋和8个每袋的包装(包装不可拆分)。 可是小易现在只想购买恰好n个苹果,小易想购买尽量少的袋数方便携带。如果不能购买恰好n个苹果,小易将不会购买。

输入描述:
输入一个整数n,表示小易想购买n(1 ≤ n ≤ 100)个苹果

输出描述:
输出一个整数表示最少需要购买的袋数,如果不能买恰好n个苹果则输出-1

示例1
输入
20
输出
3

无脑思路

根据题目描述,只提供6个每袋和8个每袋的包装(包装不可拆分)。
我们想到6和8的最小公倍数是24,所以以6个打包的不超过3个。
情况一:刚好整除8,return num/8;
情况二:有一个6个打包的,return num/8+1;
情况三:有二个6个打包的,return num/8+1;
情况四:有三个6个打包的,return num/8+1;
其他直接返回-1.

代码实现

import java.util.Scanner;/*** @ Created with IntelliJ IDEA.* @ClassName Test* @Description* @Author by * @Date 2020/6/26 18:44*/
public class Test {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);while (scanner.hasNext()) {int num = scanner.nextInt();System.out.println(count(num));}}private static int count(int num) {if(num % 8 ==0) {return num/8;}if((num % 8) % 6 == 0 || (num % 8 +  8 ) % 12 == 0 || (num % 8 + 16) % 18 == 0) {return num/8 +1;}return -1;}
}

代码实现二

import java.util.*;
public class Main{public static void main(String args[]) {Scanner in = new Scanner(System.in);
while(in.hasNextInt()){int n = in.nextInt();
System.out.println(count(n));
}
}
public static int count(int n){//一定是偶数(6,8都是),最小是6,10以上偶数都可以;
if(n%2!=0||n==10||n<6)
return -1;
//如果拿八个拿完最好
if(n%8==0)
return n/8;
//对于10以上的偶数,只要对8取余数不为0,就要从前面的1或者2个8中拿出2个,把余数补为6(本来余数就是6,就不用拿)。所以+1;
return 1+n/8;
}
}

[java编程题]买苹果相关推荐

  1. Java编程题-买苹果

    小易去附近的商店买苹果,奸诈的商贩使用了捆绑交易,只提供6个每袋和8个每袋的包装(包装不可拆分). 可是小易现在只想购买恰好n个苹果,小易想购买尽量少的袋数方便携带.如果不能购买恰好n个苹果,小易 将 ...

  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. 【2012百度之星/资格赛】H:用户请求中的品牌 [后缀数组]
  2. 三份研究报告,聚焦 AI 的三大主要话题
  3. 洛谷P4199 万径人踪灭(manacher+FFT)
  4. UNITY中使用不安全代码的相关设置
  5. 程序人生:搜索引擎被禁用,你还会写代码吗?
  6. VMware vCenter Server6.5安装及群集配置介绍
  7. 为什么redis可以做分布式锁
  8. hadoop3.1.0集群搭建
  9. 中国双燃料(DF)发动机市场趋势报告、技术动态创新及市场预测
  10. sublime text3 及相关的安装
  11. GoLang 插件化开发
  12. 左耳朵耗子:云原生的正确打开方式
  13. 计算机键盘基础知识课件,高中信息技术计算机基础应用课件:键盘操作练习
  14. 安卓手机阅读器_得到电纸书阅读器到底如何,值不值得买?使用一个月后,我告诉你答案!...
  15. Xilinx HLS 导出IP失败的最新解决方案(2022.1.15)
  16. C# 发送邮件之QQ邮箱
  17. word如何设置上标形式_word怎样设置上标
  18. 婚纱行业怎么做好有效的营销方案来打动客户?
  19. Python爬虫爬取百度贴吧的帖子
  20. 解决Oracle MySQL 安全漏洞(CVE-2021-22570)

热门文章

  1. 同步升压与非同步升压区别
  2. 使用Photoshop给Premiere批量添加对白字幕听语音 |浏览:25974|更新:2013-12-23 23:18|标签:photoshop premiere 使用Photoshop给Pre
  3. 网易微专业web前端开发课程视频教程分享
  4. 徐磊英语 4 5 时态,被动,时态的错误定义
  5. 自动白平衡(AWB)算法---1,色温曲线
  6. fatal: You have not concluded your merge (MERGE_HEAD exists). Please, commit your changes before you
  7. 加大货币发行量 quantitative easing
  8. x264参数与代码对应
  9. arcgis统计矢量面内栅格数据像元值个数
  10. Excel 获取工龄公式