历届试题 买不到的数目(欧几里得 蓝桥杯)
2015-04-04 15:28
197 查看
历届试题 买不到的数目
时间限制:1.0s 内存限制:256.0MB
问题描述
小明开了一家糖果店。他别出心裁:把水果糖包成4颗一包和7颗一包的两种。糖果不能拆包卖。小朋友来买糖的时候,他就用这两种包装来组合。当然有些糖果数目是无法组合出来的,比如要买 10 颗糖。
你可以用计算机测试一下,在这种包装情况下,最大不能买到的数量是17。大于17的任何数字都可以用4和7组合出来。
本题的要求就是在已知两个包装的数量时,求最大不能组合出的数字。
输入格式
两个正整数,表示每种包装中糖的颗数(都不多于1000)输出格式
一个正整数,表示最大不能买到的糖数样例输入1
4 7样例输出1
17样例输入2
3 5样例输出2
7interesting:算是一题欧几里得的变形吧,也是求不定方程;用题目的已知数据就是:4x+7y =!Cmax;
我们可以这样想,4x+7y=c; 令4x+7y=1;求特解x0和y0 那么扩大cmin =min(4,7);
然后特解扩大c倍,利用(x=x0+7k,y=y0-4k)或(x=x0-7k,y=y0+4k)在x0和y0 小于0的时候将一边扩大,然后判断另一边是否大于0;如果大于0,则说明符合条件,那我就记录连续满足条件的数量cnt,如果cnt比cmin 比大,那么,之后的数必定可以被组成,这就是以个题目的技巧;
我用X表示不能组成,用O表示能组成;eg:(4,7)
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 24 | .... |
X | X | X | O | X | X | O | O | X | X | O | O | X | O | O | O | X | O | O | O | O | O | O | .... |
转载请注明出处:
寻找&星空の孩子
题目链接: http://lx.lanqiao.org/problem.page?gpid=T31
#include<stdio.h> #define LL long long #define NN 10000005 bool num[NN]; void exgcd(LL a,LL b,LL &d,LL &x,LL &y) { if(b==0) { d=a; x=1; y=0; return ; } else { exgcd(b,a%b,d,y,x); y-=x*(a/b); } } LL gcd(LL a,LL b) { if(!b)return a; else gcd(b,a%b); } int main() { LL m,n,d,x,y; scanf("%I64d%I64d",&m,&n); exgcd(m,n,d,x,y); LL mmin=m<n?m:n; LL i=mmin; // printf("x=%I64d\ty=%I64d\n",x,y); if(d==1&&mmin>1); { int cnt=0; while(1) { if(cnt>=mmin){printf("%I64d\n",i-mmin-1);break;} LL xx=i*x; LL yy=i*y; // printf("xx=%I64d\tyy=%I64d\n",xx,yy); if(xx<0) { while(xx<0) { xx+=n; yy-=m; } if(yy>=0) cnt++; else cnt=0; } else if(yy<0) { while(yy<0) { xx-=n; yy+=m; } if(xx>=0) cnt++; else cnt=0; } i++; } } return 0; }
相关文章推荐
- 历届试题 买不到的数目(欧几里得 蓝桥杯)
- Java - 蓝桥杯 - 历届试题 买不到的数目(扩展欧几里得)
- 蓝桥杯-历届试题-买不到的数目 数论 动态规划
- 蓝桥杯-- 历届试题 买不到的数目
- 蓝桥杯 历届试题 买不到的数目 解题报告(完全背包,数论)
- 蓝桥杯 历届试题 8.买不到的数目
- 蓝桥杯练习系统历届试题 买不到的数目
- 蓝桥杯 历届试题 买不到的数目 By Assassin 数论 or 暴力
- 蓝桥杯 历届试题 买不到的数目
- 蓝桥杯 历届试题 买不到的数目
- 蓝桥杯 历届试题 买不到的数目 java
- 【数论--扩展欧几里德算法】蓝桥杯 历届试题 买不到的数目
- 历届试题 买不到的数目 (蓝桥杯)
- 【蓝桥杯】历届试题 买不到的数目
- 蓝桥杯 历届试题 买不到的数目 //数论
- 蓝桥杯 历届试题 买不到的数目(数论)
- 问题 1427: [蓝桥杯][历届试题]买不到的数目(两个数凑不出来的最大数)
- [蓝桥杯][历届试题]买不到的数目
- 蓝桥杯-历届试题 买不到的数目
- 蓝桥杯-历届试题 买不到的数目