放苹果题解

来源:互联网 发布:淘宝客源码哪个好用 编辑:程序博客网 时间:2024/06/05 18:10

【问题描述】

把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。

 

 

2 0
原创粉丝点击