问题描述:
问题分析:在这个问题中,从第一个灯亮(值为1)还是灭(值为0)开始,若第一个是1,第二个一定是0,只需要考虑第三个灯是1还是0就行了(递归到n+2),若第一个是0,那么第二个可以是0或1(递归到n+1),递归结束的条件是第30个灯是0或者1,即n=30||n=31。
问题结果:
问题回顾:
1:C语言没有布尔值,所以不能返回true或者false,但是用C++的编译器就可以,java的也可以。如果想返回递归函数的上一层可以用return 1代替,但是return返回必须是一个值,不可以为空。
2:在递归函数中想让一个变量在递归过程中数值不被重置而且可以一直保持原值增减可以用全局变量如在include后写:int ans=0;
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.