放苹果题解

【问题描述】

把M个同样的苹果放在N个同样的盘子里,允许有的盘子空着不放,问共有多少种不同的分法?(用K表示)5,1,1和1,5,1 是同一种分法。

【输入】

       输入文件名为apple.in。

       输入共一行,包含两个整数M和N。

 

【输出】

       输出文件名为apple.out。

       输出共一行,包含一个整数,即分法的种数。

 

解:

这道题可用递归实现。将m个苹果装进n个篮子里,可先确定第一个篮子可装苹果数量i,范围为1到n。之后,问题就可化为将m—i苹果个装进n-1个篮子里,以此类推。当最后化为分配m=0个苹果或n=1个篮子时即可返回。其中定义一个全局变量a数组和分法总数s,每确定一个篮子的苹果数就记录在数组中,当化为分配m=0个苹果或n=1个篮子时就将a数组各项之和加起来看与最初的m是否相等且后一项是否比前一项小,从而判断是否s加1。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值