課程
/后端開發
/C
/C語言入門
為什么是(sum-1)+2呢???
2017-05-26
源自:C語言入門 5-9
正在回答
要看具體程序的,如程序:有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個值,可以和循環參照理解,
慕數據3235568 提問者
舉報
C語言入門視頻教程,帶你進入編程世界的必修課-C語言
1 回答遞歸的條件
1 回答遞歸條件的書寫
1 回答遞歸結束的條件
1 回答遞歸結束條件
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2017-05-31
要看具體程序的,如程序:有5個人坐在一起,問第5個人多少歲?他說比第4個人大2歲。問第4個人歲數,他說比第3個人大2歲。問第3個人,又說比第2人大兩歲。問第2個人,說比第1個人大兩歲。最后 問第1個人,他說是10歲。請問第5個人多大?函數如下
age=getAge(peopleNum-1)+2 這條語句就是核心關系式第n個人比第n-1個人大2歲;else上面的if部分就是限制了遞歸的結束條件,也很好理解最少要有1個人,遞歸就是有1個初始值(及最小值 或最大值)我按照條件可以求出N個值,可以和循環參照理解,