为了账号安全,请及时绑定邮箱和手机立即绑定

递归的条件为什么啊

为什么是(sum-1)+2呢啊?

正在回答

1 回答

要看具体程序的,如程序:有5个人坐在一起,问第5个人多少岁?他说比第4个人大2岁。问第4个人岁数,他说比第3个人大2岁。问第3个人,又说比第2人大两岁。问第2个人,说比第1个人大两岁。最后 问第1个人,他说是10岁。请问第5个人多大?函数如下

int getAge(int peopleNum){
	int age;
	if (peopleNum==1)
	{
		
		return 10;
	} 
	else
	{
		age=getAge(peopleNum-1)+2;
		printf("第%d个人%d岁!\n",peopleNum,age);
	}
	return age;
}

age=getAge(peopleNum-1)+2 这条语句就是核心关系式第n个人比第n-1个人大2岁;else上面的if部分就是限制了递归的结束条件,也很好理解最少要有1个人,递归就是有1个初始值(及最小值 或最大值)我按照条件可以求出N个值,可以和循环参照理解,

1 回复 有任何疑惑可以回复我~
#1

慕数据3235568 提问者

非常感谢!
2017-06-01 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
C语言入门
  • 参与学习       926283    人
  • 解答问题       20799    个

C语言入门视频教程,带你进入编程世界的必修课-C语言

进入课程

递归的条件为什么啊

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信