博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
第7题——买苹果
阅读量:6812 次
发布时间:2019-06-26

本文共 1601 字,大约阅读时间需要 5 分钟。

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

输入描述:
输入一个整数n,表示小易想购买n(1 ≤ n ≤ 100)个苹果
输出描述:
输出一个整数表示最少需要购买的袋数,如果不能买恰好n个苹果则输出-1
输入例子1:
20

 

输出例子1:
3 我的代码:
import java.util.*;public class Main{    public static void main(String[] args){        Scanner sc=new Scanner(System.in);        while(sc.hasNext()){            int n=sc.nextInt();            System.out.println(minApple(n));        }        sc.close();    }    private static int minApple(int n){        int k1=n/6;        int k2=n/8;        int sum=0;//可能买恰好n个苹果的袋数        int min=0;//最小袋数        int count=0;        for(int i=0;i<=k1;i++){            for(int j=0;j<=k2;j++){                if(6*i+8*j==n){                    sum=i+j;                    count++;                }            }            if(count==1)                min=sum;            min=Math.min(min, sum);        }        if(min==0)            return -1;        else            return min;    }}

参考:https://www.nowcoder.com/test/question/done?tid=9685251&qid=46578#summary

//复杂度O(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){        if(n%2!=0||n==10||n<6) return -1;//一定是偶数(6,8都是),最小是6,10以上偶数都可以;        if(n%8==0) return n/8;//如果拿八个拿完最好        return 1+n/8;//对于10以上的偶数,只要对8取余数不为0,就要从前面的1或者2个8中拿出2个,把余数补为6(本来余数就是6,就不用拿)。所以+1;    }}

 

转载于:https://www.cnblogs.com/dengyt/p/7324146.html

你可能感兴趣的文章
黑盒测试难还是白盒测试难?
查看>>
jQuery CSS 函数
查看>>
Stanford coursera Andrew Ng 机器学习课程编程作业(Exercise 2)及总结
查看>>
字符输出流Writer简要概括
查看>>
ASP.NET MVC5+EF6+EasyUI 后台管理系统(53)-工作流设计-我的批阅
查看>>
Centos 学习大纲
查看>>
我们前端跟后端是怎么合作的
查看>>
我的第一个Chrome扩展
查看>>
线偏移处理参数说明
查看>>
Web Services Introduction
查看>>
快速排序算法之所有版本的c/c++实现
查看>>
linux进程的休眠(等待队列)【转】
查看>>
Git学习系列之Git基本操作克隆项目(图文详解)
查看>>
Makefile学习之make 的运行【转】
查看>>
今天有点爽
查看>>
QTP的那些事--场景恢复的使用(加入场景恢复却不起作用)
查看>>
Asp.net MVC 2 使用Areas功能的常见错误
查看>>
linux系统性能分析
查看>>
《PHP对象、模式与实践》之对象
查看>>
ASP.NET入门五步详解
查看>>