假设我们有两盒铅笔(第一盒是蓝色的,第二盒是红色的)。所以现在的问题是,我们可以用多少种方法把x红色和y蓝色铅笔放在这条线上?
例如:我们有3支红色铅笔和1支蓝色铅笔。然后我们有4种不同的方法。组合: BRRR、RBRR、RRBR、RRRB。
因此,用10支红色和10支蓝色铅笔,我们有184756种不同的方法来排列它们。那么,伙计们,如何以递归的方式编写这些代码呢?
非常感谢你的帮助。
发布于 2009-11-08 02:13:08
这听起来像是家庭作业,所以这里有一些提示:
在处理递归时,您需要考虑基本情况。这里的基本情况是0铅笔。你可以用多少种方法订购0支铅笔?
好的,现在是递归的情况:你可以用多少种方法对非零量的铅笔进行排序?如果你有红铅笔,那么你可以从一支红铅笔开始,然后是其他的铅笔。如果你有蓝色的铅笔,那么你可以从一支蓝色的铅笔开始,然后是其他的铅笔。
发布于 2009-11-08 03:41:45
考虑二叉树,深度=行中铅笔的数量。
词根是零个铅笔。第一级有一支蓝色铅笔和一支红色铅笔。Level 2....you查看模式。
发布于 2009-11-08 03:42:11
不需要以递归的形式进行计算,因为它可以使用(x+y)!/(x!y!)计算,但是如果你坚持这样做,你可以使用这样的东西:C(x,y)=C(x-1,y)+C(x,y-1) with base case:C(z,0)=C(0,z)=1,z是任何自然数
https://stackoverflow.com/questions/1693898
复制相似问题