java的递归(recursion)题目
大家好,我希望大家能帮我用递归解决这道问题。关灯问题,共有N个灯(初始时灯全亮着,用1表示),目标是关掉所有的灯(用0表示)。规则是第一个灯可以随意控制开关,其余的灯的开...
大家好,我希望大家能帮我用递归解决这道问题。
关灯问题,共有N个灯(初始时灯全亮着,用1表示),目标是关掉所有的灯(用0表示)。
规则是第一个灯可以随意控制开关,其余的灯的开关问题取决于前一个灯必须亮着,以及前一个灯之前的灯全暗着。
例子:1 1 1 3灯全亮
0 1 1 关掉灯 1
0 1 0 关掉灯 3
1 1 0 T开启灯 1
1 0 0 关掉灯 2
0 0 0 关闭灯 1.
我现在的思路是先关掉最后一个灯,然后一步一步往前关灯,但是找不到规律,能帮我写一下代码吗(实在没时间帮我找一下规律,然后教我怎么用递归做) 展开
关灯问题,共有N个灯(初始时灯全亮着,用1表示),目标是关掉所有的灯(用0表示)。
规则是第一个灯可以随意控制开关,其余的灯的开关问题取决于前一个灯必须亮着,以及前一个灯之前的灯全暗着。
例子:1 1 1 3灯全亮
0 1 1 关掉灯 1
0 1 0 关掉灯 3
1 1 0 T开启灯 1
1 0 0 关掉灯 2
0 0 0 关闭灯 1.
我现在的思路是先关掉最后一个灯,然后一步一步往前关灯,但是找不到规律,能帮我写一下代码吗(实在没时间帮我找一下规律,然后教我怎么用递归做) 展开
展开全部
貌似是第一次灭灯 可以随便灭,而第一个灯 可以随时灭或者开 是么? 如果是 请帮忙写下 11111 五个灯的流程。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
递归的核心思想就是要相信你的方法是正确的 然后再方法里面再次调用就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
有点意思 我想想
是不是每次只能操作一个灯
用数组还是用集合啊
是不是每次只能操作一个灯
用数组还是用集合啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1 1 1 1
这样子的怎么关???
这样子的怎么关???
追问
1 1 1 1 四灯全亮
1 0 1 1
0 0 1 1
0 0 1 0
到此时,把最后一个灯关掉,然后处理前三个
1 0 1 0
1 1 1 0
然后和上面3个1 1 1一样
就是找不到N个1 的规律。。。。求助呀
追答
已完成,请查收!
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ugfghgjftyfdhbvjgyuygb
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询