蓝桥杯_买不到的数目

只愿长相守 提交于 2019-11-28 18:33:04

问题描述

小明开了一家糖果店。他别出心裁:把水果糖包成4颗一包和7颗一包的两种。糖果不能拆包卖。

小朋友来买糖的时候,他就用这两种包装来组合。当然有些糖果数目是无法组合出来的,比如要买 10 颗糖。

你可以用计算机测试一下,在这种包装情况下,最大不能买到的数量是17。大于17的任何数字都可以用4和7组合出来。

本题的要求就是在已知两个包装的数量时,求最大不能组合出的数字。

输入格式

两个正整数,表示每种包装中糖的颗数(都不多于1000)

输出格式

一个正整数,表示最大不能买到的糖数

样例输入1

4 7

样例输出1

17

样例输入2

3 5

样例输出2

7

代码:

#include<stdio.h>
int main()
{
    int a[100001];
  int n,m,i,j;
  scanf("%d %d",&n,&m);
  a[n]=1;
  a[m]=1;
  for(i=0;i<n*m;i++)
  {
      for(j=0;j<n*m;j++)
      {
          if(i*n+j*n>=100001)
          break;
          a[i*n+j*m]=1;
      }
      }    
      for(i=n*m-1;i>=0;i--)//从后往前碰到的第一个就是最大的 
      {
          if(!a[i])
          { 
          printf("%d",i);
          break;
          } 
      }
      return 0;
 } 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!