连续邮资问题:
问题表述为:假设国家发行了n种不同面值的邮票,并且规定每张信封上最多只允许贴m张邮票。连续邮资问题要求对于给定的n和m的值,给出邮票面值的最佳设计,在一张信封上可以贴出从邮资1开始,增量为1的最大连续邮资区间。
举例分析:当n=2,m=3时,如果面值分别为1和4,则可以获得的邮资范围为1~6 加上 8 , 9 , 12,则可以获得1~7之间的每个邮资值,并且7就是可以得到的连续的邮资最大值
实现思路为把所有能表示的数值全部进行计算,存入hashmap中去重,再通过自然数的顺序遍历从而进行判断最大的邮资区间,通过比较来判断是否采用本次的结果。
废话不多说,直接上 bug
。
package test;
import java.util.HashMap;
import java.util.Scanner;
public class Postage {
public static int quantity;
public static int maxQuantity;
public static int value[];
public static int maxResult = 0;
public static int result[];
public static void input() {
Scanner scan = new Scanner(System.in);
System.out.println("请输入邮票数量:");
quantity = scan.nextInt();
System.out.println("请输入最多可用邮票数量:(小于" + quantity + ")");
maxQuantity = scan.nextInt(