首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >递归和排列

递归和排列
EN

Stack Overflow用户
提问于 2009-11-08 02:02:58
回答 3查看 1K关注 0票数 0

假设我们有两盒铅笔(第一盒是蓝色的,第二盒是红色的)。所以现在的问题是,我们可以用多少种方法把x红色和y蓝色铅笔放在这条线上?

例如:我们有3支红色铅笔和1支蓝色铅笔。然后我们有4种不同的方法。组合: BRRR、RBRR、RRBR、RRRB。

因此,用10支红色和10支蓝色铅笔,我们有184756种不同的方法来排列它们。那么,伙计们,如何以递归的方式编写这些代码呢?

非常感谢你的帮助。

EN

回答 3

Stack Overflow用户

发布于 2009-11-08 02:13:08

这听起来像是家庭作业,所以这里有一些提示:

在处理递归时,您需要考虑基本情况。这里的基本情况是0铅笔。你可以用多少种方法订购0支铅笔?

好的,现在是递归的情况:你可以用多少种方法对非零量的铅笔进行排序?如果你有红铅笔,那么你可以从一支红铅笔开始,然后是其他的铅笔。如果你有蓝色的铅笔,那么你可以从一支蓝色的铅笔开始,然后是其他的铅笔。

票数 5
EN

Stack Overflow用户

发布于 2009-11-08 03:41:45

考虑二叉树,深度=行中铅笔的数量。

词根是零个铅笔。第一级有一支蓝色铅笔和一支红色铅笔。Level 2....you查看模式。

票数 0
EN

Stack Overflow用户

发布于 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是任何自然数

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1693898

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档