藍橋杯——說好的進階之買不到的數目

問題描述

小明開了一家糖果店。他別出心裁:把水果糖包成4顆一包和7顆一包的兩種。糖果不能拆包賣。

小朋友來買糖的時候,他就用這兩種包裝來組合。當然有些糖果數目是無法組合出來的,比如要買 10 顆糖。

你可以用計算機測試一下,在這種包裝情況下,最大不能買到的數量是17。大於17的任何數字都可以用4和7組合出來。

本題的要求就是在已知兩個包裝的數量時,求最大不能組合出的數字。

輸入格式

兩個正整數,表示每種包裝中糖的顆數(都不多於1000)

輸出格式

一個正整數,表示最大不能買到的糖數

樣例輸入1
4 7
樣例輸出1
17
樣例輸入2
3 5
樣例輸出2
7
import java.util.Scanner;

public class Main{
	
	static int[] v = new int[100001];
	static int[] b ;//= { 3, 5 };

	public static void main(String[] args) {
		Scanner scanner=new Scanner(System.in);
		String[] sarr=scanner.nextLine().split(" ");
		b=new int[sarr.length];
		for(int i=0;i<sarr.length;i++)
		{
			b[i]=Integer.parseInt(sarr[i]);
		}
		cal();
	}

	static void cal() {
		for (int i = 0; i < b.length; i++)
			v[b[i]] = 1;
		for (int i = 1; i < v.length; i++) {
			for (int j = 0; j < b.length; j++) {
				if (i - b[j] >= 0 && v[i - b[j]] == 1) {
					v[i] = 1;
				}
			}
		}
		int max = 0;
		for (int i = 1; i < v.length; i++) {
			if (v[i] != 1) {
				max = i;
			}
		}
		System.out.print(max);
	}
}




發佈了54 篇原創文章 · 獲贊 7 · 訪問量 12萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章