`
1140566087
  • 浏览: 547784 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
博客专栏
2c4ae07c-10c2-3bb0-a106-d91fe0a10f37
c/c++ 入门笔记
浏览量:18076
3161ba8d-c410-3ef9-871c-3e48524c5263
Android 学习笔记
浏览量:309525
Group-logo
J2ME 基础学习课程集
浏览量:18008
A98a97d4-eb03-3faf-af96-c7c28f709feb
Spring 学习过程记录...
浏览量:17195
社区版块
存档分类
最新评论

买不到的数目,组合问题

阅读更多

标题:买不到的数目

    小明开了一家糖果店。他别出心裁:把水果糖包成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);
	}

}

1
1
分享到:
评论
3 楼 thihy 2013-07-07  
1140566087 写道
thihy 写道
可以参考 ax+by=k的解法。

那个,有没有相关的资料了!弄来看看,可以不

http://zh.wikipedia.org/zh-cn/%E4%B8%A2%E7%95%AA%E5%9B%BE%E6%96%B9%E7%A8%8B
2 楼 1140566087 2013-07-07  
thihy 写道
可以参考 ax+by=k的解法。

那个,有没有相关的资料了!弄来看看,可以不
1 楼 thihy 2013-07-06  
可以参考 ax+by=k的解法。

相关推荐

    算法——背包问题

    背包问题具有多种表现形式,其中最常见的当数0-1背包问题(0-1 knapsack problem),它规定了放入到背包中的物品的数目的表现形式,每种物品具有放入(且仅放入一次)或不放入两种形式,用0和1分别进行表示: ...

    Windows 系统错误代码简单分析

     0002 系统找不到指定的文件。  0003 系统找不到指定的路径。  0004 系统无法打开文件。  0005 拒绝访问。  0006 句柄无效。  0007 存储区控制块已损坏。  0008 可用的存储区不足, 无法执行该...

    论文研究-基于子树分解的分数组播路由网络容量分析.pdf

    网络容量可以分为编码容量和路由容量,一重组播网络的编码容量已被证明等于信源和各个信宿之间最小割的最小值,但路由容量却由于受到网络拓扑、信源信宿的数目和位置等因素的影响不存在这样简单和一般化的结论,对...

    组合星图中包含条件边错的圈的嵌入问题 (2012年)

    借用星图中解决包含错误边的圈的嵌入问题的思想,将其应用到组合星图中,解决组合星图中包含条件边错的圈的嵌入问题.应用数学归纳法分两种情况证明当错误边的数目|f| =1时,对于组合星图Sn,n -2( n≥4)中任意一条健康边...

    BnanY67dzAwGDI.zip

    在计算复杂性理论,它是一个组合的 NP 难问题。 还有很多变化的这个问题,如 2D 包装、 线性包装,包装的重量、 包装成本,等等。他们有许多应用程序,例如填满的容器,载货汽车与重量的能力制约,在可移动媒体和...

    通信与网络中的GPS和伪卫星组合在变形监测中的应用

    简单地讲,伪卫星就是设置在地面上的GPS卫星。伪卫星能够发射类似于GPS的...在观测条件不理想的情况下,所能观测到的卫星数目和卫星的几何图形结构通常都不理想,也难以满足精密定位的需要。在某些极端条件下,如在室内

    子网化分工具

    当有一段时间,当网络变得太大而无法管理,是因为网络太拥挤。最有效来解决这个网络拥塞问题之一是方法的打破 ...你可以选择组合子网和主机,适合您的网络的子网数目,广播的地址的主机地址范围为任何给定的子网掩码。

    2025NOIP普及组.rar

    接下来的问题就是判断素数,判断一个整数P(P&gt;1)是否为素数最简单的方法就是看是否存在一个素数a(a(P))是P的约数,如果不存在,该数就为素数,由于在此题中1,n,所以要判断的数P不会超过100000000,sqrt(p),因此,...

    LINGO软件的学习

    这与前面并不矛盾,初始部分是LINGO求解器的需要,并不是描述问题所必须的。 2.3.2 定义派生集 为了定义一个派生集,必须详细声明: •集的名字 •父集的名字 •可选,集成员 •可选,集成员的属性 可用下面的语法...

    vfp6.0系统免费下载

    问题 1-8: 我可能会在 Microsoft web 站点上读到一篇文章,并看到 Visual Basic 和 Visual C++ 的代码。这是否意味着我不能使用 Visual FoxPro? 答案: 并不是这样的。尤其是在调用和使用对象时,Visual Basic 和 ...

    基于微信小程序的智能推荐点餐系统的设计与实现

    在为用户推荐菜品的时候,不能只靠推荐算法产生的结果,还需要结合一定的推荐策略来对物品进行组合排序筛选最后为用户推荐出合适数目且搭配合适的一系列菜品。因此设计出一种推荐策略,根据用餐人数和菜品的分类信息...

    基于时间约束的人气最优路径搜索 (2016年)

    当旅游景点数目庞大,而限定时间不足以访问任何路径中的所有景点时,现有的搜索方法找不到事实上存在满足条件的路线.提出了一种高效的最优路径近似搜索算法PSScaling,使用修整参数δ,将景点的人气分数调整为一个整数,...

    泰声6.x注册机

    c、 可点播的歌曲数量比平时减少很多,请首先检查主文件服务器是否开机,如开机则检查主服务器的网卡电缆连接处的指示灯是否点亮,如服务器没有问题则检查歌曲数目不正常的包房电脑的网卡电缆连接处的指示灯是否点亮...

    LeetCode解题总结

    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 满...

    代码优化:有效使用内存.part3

    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...

    代码优化:有效使用内存.part2

    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...

    代码优化:有效使用内存.part1

    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...

    matlab提取文件要素代码-entrainment:使用MATLAB/EEGLAB从EEG数据进行神经训练。移至github.com/rye

    analysis文件夹是用于(主要用于预处理)包装程序脚本和用于通过定位和测量夹带选择独立组件的自定义功能的组合。 task文件夹用于在Windows计算机上显示刺激,并用于将端口代码发送到BioSemi EEG记录系统。 目录 ...

    属性权重、位置权重以及属性赋值均为直觉模糊数的信息集成算子及其应用 (2012年)

    对于属性权重、位置权重以及属性赋值均为直觉模糊数的信息系统,注意到信息系统中属性数目比较少的情况下,数据自身的重要性程度对集成算子影响较大的...所得结果可直接应用到不确定多属性决策问题的讨论,最后给出了算例.

Global site tag (gtag.js) - Google Analytics