题解 1886: 蓝桥杯2017年第八届真题-包子凑数

来看看其他人写的题解吧!要先自己动手做才会有提高哦! 
返回题目 | 我来写题解

筛选

蓝桥杯2017年第八届真题-包子凑数 (背包DP)

####解题思路设有N个蒸笼,每个蒸笼能装$$A_1,A_2,\dots,A_N$$个包子。1.当$$gcd(A_1,A_2,\dots,A_N)!=1$$时,则都不互质,凑不出的数目有无限个。(都为偶数时,则所有奇数凑不出来)[裴蜀定理](https://baike.baidu.com/item/%

动态规划,标准解

解题思路:这一题有两个难点:1为能否算出所有的能凑成的数(以10000为最大界限,因为Ai最大为100,N也才为100,10000足够代表所有的数了),2为如何判断凑出来的数是否为无限个。第一个难点:先找到s,接下来的问题就变成了:用a1...an,在1-s-1之间能凑成多少个数,用递归就能解决。
优质题解

容易理解的C语言代码

摘要:解题思路:有无限个解的条件是:        最大公约数不为1        如果不是1的话,说明是和某个数成倍数关系,所以可以得出组合的只能是那个数的倍数有限个解的判断条件:        穷举法:……

蓝桥杯2017年第八届真题-包子凑数 -题解(C++代码)思路清晰、易懂

###解题思路:###这里用到裴蜀定理:任意两个数的组合必定是他们gcd的任意两个数的组合必定是他们gcd的倍数。同样可以推广到更多数:如果这些数的gcd是d,那么他们的组合是d的倍数,如果d不是1,那么必然有无限个数无法被组合出来。##首先结论是如果所有的数的最大公约数不为1,

蓝桥杯2017年第八届真题-包子凑数 -题解(C++代码)

```cpp/*包子凑数小明几乎每天早晨都会在一家包子铺吃早餐。他发现这家包子铺有N种蒸笼,其中第i种蒸笼恰好能放Ai个包子。每种蒸笼都有非常多笼,可以认为是无限笼。每当有顾客想买X个包子,卖包子的大叔就会迅速选出若干笼包子来,使得这若干笼中恰好一共有X个包子。