标题:买不到的数目
小明开了一家糖果店。他别出心裁:把水果糖包成4颗一包和7颗一包的两种。糖果不能拆包卖。
小朋友来买糖的时候,他就用这两种包装来组合。当然有些糖果数目是无法组合出来的,比如要买 10 颗糖。
你可以用计算机测试一下,在这种包装情况下,最大不能买到的数量是17。大于17的任何数字都可以用4和7组合出来。
本题的要求就是在已知两个包装的数量时,求最大不能组合出的数字。
输入:
两个正整数,表示每种包装中糖的颗数(都不多于1000)
要求输出:
一个正整数,表示最大不能买到的糖数
不需要考虑无解的情况
例如:
用户输入:
4 7
程序应该输出:
17
再例如:
用户输入:
3 5
程序应该输出:
7
资源约定:
峰值内存消耗(含虚拟机) < 64M
CPU消耗 < 3000ms
请严格按要求输出,不要画蛇添足地打印类似:“请您输入...” 的多余内容。
所有代码放在同一个源文件中,调试通过后,拷贝提交该源码。
注意:不要使用package语句。不要使用jdk1.6及以上版本的特性。
注意:主类的名字必须是:Main,否则按无效代码处理。
package 买不到的数目;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;
public class Main {
private static ArrayList<Integer> list = new ArrayList<Integer>();
public static void main(String[] args){
//test time
long begin = System.currentTimeMillis();
//接收数据
String[] arr = new Scanner(System.in).nextLine().split(" ");
f(0,Integer.parseInt(arr[0]),Integer.parseInt(arr[1]),0);
int[] a = new int[list.size()];
for(int i =0 ;i<list.size();i++){
a[i] = list.get(i);
}
//排序
Arrays.sort(a);
//找出连续并显示最后的结果
for(int i=1;i<a.length-15;i++){
if(a[i+10]-a[i]==10){
System.out.println(a[i]-1);
break;
}
}
long end = System.currentTimeMillis();
System.out.println("运行:"+(end-begin)/1000f+"秒");
}
public static void f(int base,int n ,int m,int k){
if(k>=15){
return;
}
if(!list.contains(base)){
list.add(base);
}
f(base+n,n,m,k+1);
f(base+m,n,m,k+1);
}
}
分享到:
相关推荐
背包问题具有多种表现形式,其中最常见的当数0-1背包问题(0-1 knapsack problem),它规定了放入到背包中的物品的数目的表现形式,每种物品具有放入(且仅放入一次)或不放入两种形式,用0和1分别进行表示: ...
0002 系统找不到指定的文件。 0003 系统找不到指定的路径。 0004 系统无法打开文件。 0005 拒绝访问。 0006 句柄无效。 0007 存储区控制块已损坏。 0008 可用的存储区不足, 无法执行该...
网络容量可以分为编码容量和路由容量,一重组播网络的编码容量已被证明等于信源和各个信宿之间最小割的最小值,但路由容量却由于受到网络拓扑、信源信宿的数目和位置等因素的影响不存在这样简单和一般化的结论,对...
借用星图中解决包含错误边的圈的嵌入问题的思想,将其应用到组合星图中,解决组合星图中包含条件边错的圈的嵌入问题.应用数学归纳法分两种情况证明当错误边的数目|f| =1时,对于组合星图Sn,n -2( n≥4)中任意一条健康边...
在计算复杂性理论,它是一个组合的 NP 难问题。 还有很多变化的这个问题,如 2D 包装、 线性包装,包装的重量、 包装成本,等等。他们有许多应用程序,例如填满的容器,载货汽车与重量的能力制约,在可移动媒体和...
简单地讲,伪卫星就是设置在地面上的GPS卫星。伪卫星能够发射类似于GPS的...在观测条件不理想的情况下,所能观测到的卫星数目和卫星的几何图形结构通常都不理想,也难以满足精密定位的需要。在某些极端条件下,如在室内
当有一段时间,当网络变得太大而无法管理,是因为网络太拥挤。最有效来解决这个网络拥塞问题之一是方法的打破 ...你可以选择组合子网和主机,适合您的网络的子网数目,广播的地址的主机地址范围为任何给定的子网掩码。
接下来的问题就是判断素数,判断一个整数P(P>1)是否为素数最简单的方法就是看是否存在一个素数a(a(P))是P的约数,如果不存在,该数就为素数,由于在此题中1,n,所以要判断的数P不会超过100000000,sqrt(p),因此,...
这与前面并不矛盾,初始部分是LINGO求解器的需要,并不是描述问题所必须的。 2.3.2 定义派生集 为了定义一个派生集,必须详细声明: •集的名字 •父集的名字 •可选,集成员 •可选,集成员的属性 可用下面的语法...
问题 1-8: 我可能会在 Microsoft web 站点上读到一篇文章,并看到 Visual Basic 和 Visual C++ 的代码。这是否意味着我不能使用 Visual FoxPro? 答案: 并不是这样的。尤其是在调用和使用对象时,Visual Basic 和 ...
在为用户推荐菜品的时候,不能只靠推荐算法产生的结果,还需要结合一定的推荐策略来对物品进行组合排序筛选最后为用户推荐出合适数目且搭配合适的一系列菜品。因此设计出一种推荐策略,根据用餐人数和菜品的分类信息...
当旅游景点数目庞大,而限定时间不足以访问任何路径中的所有景点时,现有的搜索方法找不到事实上存在满足条件的路线.提出了一种高效的最优路径近似搜索算法PSScaling,使用修整参数δ,将景点的人气分数调整为一个整数,...
c、 可点播的歌曲数量比平时减少很多,请首先检查主文件服务器是否开机,如开机则检查主服务器的网卡电缆连接处的指示灯是否点亮,如服务器没有问题则检查歌曲数目不正常的包房电脑的网卡电缆连接处的指示灯是否点亮...
5.3.1 生成不重复的二叉查找树数目 5.3.2 验证是否为二叉查找树 5.3.3 将有序数组转为二叉树 5.3.4 将有序链表转为二叉树 5.4 二叉树的递归 5.4.1 二叉树的最大深度 5.4.2 二叉树的最小深度 5.4.3 路径和 5.4.4 满...
1.3.1运行时间的不一致性 1.3.2二度运行问题 1.3.3负面效应 1.3.4单台机器的代码优化问题 1.4最新剖分软件概述 1.4.1IntelVTune 1.4.2AMDCodeAnalyst 1.4.3Microsoft的prOflle.exe 1.5开发自己的剖分软件 1.6VTune...
1.3.1运行时间的不一致性 1.3.2二度运行问题 1.3.3负面效应 1.3.4单台机器的代码优化问题 1.4最新剖分软件概述 1.4.1IntelVTune 1.4.2AMDCodeAnalyst 1.4.3Microsoft的prOflle.exe 1.5开发自己的剖分软件 1.6VTune...
1.3.1运行时间的不一致性 1.3.2二度运行问题 1.3.3负面效应 1.3.4单台机器的代码优化问题 1.4最新剖分软件概述 1.4.1IntelVTune 1.4.2AMDCodeAnalyst 1.4.3Microsoft的prOflle.exe 1.5开发自己的剖分软件 1.6VTune...
analysis文件夹是用于(主要用于预处理)包装程序脚本和用于通过定位和测量夹带选择独立组件的自定义功能的组合。 task文件夹用于在Windows计算机上显示刺激,并用于将端口代码发送到BioSemi EEG记录系统。 目录 ...
对于属性权重、位置权重以及属性赋值均为直觉模糊数的信息系统,注意到信息系统中属性数目比较少的情况下,数据自身的重要性程度对集成算子影响较大的...所得结果可直接应用到不确定多属性决策问题的讨论,最后给出了算例.