蓝桥杯历届试题--买不到的数目

时间:2020-03-24
本文章向大家介绍蓝桥杯历届试题--买不到的数目,主要包括蓝桥杯历届试题--买不到的数目使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

试题 历届试题 买不到的数目

 
资源限制
时间限制:1.0s   内存限制:256.0MB
问题描述

小明开了一家糖果店。他别出心裁:把水果糖包成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 m;
    static int n;
    //static int art[] = new int[100000];
    static boolean vis[] = new boolean[100000];
    public static void fun()
    {
        for(int i=0;i<90000;i++)
        {
            if(vis[i])//可以购买
            {
                //System.out.println(i);
                vis[i+m] = true;
                vis[i+n] = true;
            }
        }
        
    }
    
    public static void print()
    {
        
        for(int i=89999;i>=0;i--)
        {
            
            if(vis[i] == false)
            {
                System.out.println(i);
                return;
                
            }
        }
    
    }
    
    public static void main(String[] args)
    {
        // TODO Auto-generated method stub
        Scanner scanner = new Scanner(System.in);
        while(scanner.hasNext())
        {
            m = scanner.nextInt();
            n = scanner.nextInt();
            vis[m] = true;
            vis[n] = true;
            fun();
            print();        
        }

    }

}

原文地址:https://www.cnblogs.com/zkw123/p/12558020.html