买不到额数目
来源:互联网 发布:软件开发详细设计文档 编辑:程序博客网 时间:2024/04/29 02:50
标题:买不到的数目
小明开了一家糖果店。他别出心裁:把水果糖包成4颗一包和7颗一包的两种。糖果不能拆包卖。
小朋友来买糖的时候,他就用这两种包装来组合。当然有些糖果数目是无法组合出来的,比如要买 10 颗糖。
你可以用计算机测试一下,在这种包装情况下,最大不能买到的数量是17。大于17的任何数字都可以用4和7组合出来。
本题的要求就是在已知两个包装的数量时,求最大不能组合出的数字。
输入:
两个正整数,表示每种包装中糖的颗数(都不多于1000)
要求输出:
一个正整数,表示最大不能买到的糖数
不需要考虑无解的情况
例如:
用户输入:
4 7
程序应该输出:
17
再例如:
用户输入:
3 5
程序应该输出:
7
资源约定:
峰值内存消耗 < 64M
CPU消耗 < 3000ms
标记数组, 如果当前位 - a, -b为1那么说明这个位置可以由之前-a. 或者-b的而得
如果是每袋糖果装一千个, 输出2013
如何用纯数学方法解决这个问题, 还不清楚, 不过我猜, 应该有吧
#include<stdio.h>#define N 10000000
int candy[N];
int main(){
int i;
int a, b, min;
int count;
scanf("%d%d", &a, &b);
candy[a] = candy[b] = 1;
min = a < b ? a : b;
//printf("...%d %d\n", candy[min - b], candy[-100]);
count = 0;
for(i = min; i < N; i++){
//printf("%d %d\n", i, candy[i]);
if((i >= a && candy[i - a] == 1) || (i >= b && candy[i - b] == 1)){
count++;
candy[i] = 1;
}
else
count = 0;
if(count == min){
printf("%d\n", i - min);
break;
}
}
return 0;
}
0 0
- 买不到额数目
- 买不到的数目
- 买不到的数目
- 买不到的数目
- 买不到的数目
- 买不到的数目
- 买不到的数目
- 买不到的数目
- 买不到的数目
- 买不到的账目
- 买不到的数目
- 买不到的数目
- 买不到的数目
- 买不到的数目
- 买不到的数目
- 买不到的数目
- 买不到的数目
- 买不到的糖果
- AJAX false true
- 商品详情页面描述
- 构造器和垃圾回收机制(笔记)
- VNC使用技巧
- 剪格子
- 买不到额数目
- 让历史无处“安放”,谁之过错?
- TopCoder SRM 593: MayTheBestPetWin 势均力敌的赛跑
- 灯布灯箱设计制作方法
- mysql分区
- The architecture of VLC media framework(VLC媒体框架结构介绍)
- Annotation(注释)
- 第五章--内核同步
- 关于IE下AJAX的问题