一、概念
二、代碼
#include <stdio.h>
int age(int n);
int main()
{
/*
有5個人坐在一起,問第5個人多少歲?他說比4個人大兩歲.
問第4個人歲數.他說比第3人大兩歲
問第3個人歲數.他說比第2人大兩歲
問第2個人歲數.他說比第1人大兩歲
最后問第1個人.他說是10歲
請問第5個人多大?
第一個人得歲數 == 10;
第二個人得歲數 == 第一個人 + 2; // 12
第三個人得歲數 == 第二個人 + 2; // 14
第四個人得歲數 == 第三個人 + 2; // 16
第五個人得歲數 == 第四個人 + 2; // 18
已知第一個人的年齡,和每個人之間的年齡差,求第n個人的年齡
age(1) == 10
age(2) == age(1) + 2;
age(3) == age(2) + 2;
age(4) == age(3) + 2;
age(n) == age(n - 1) + 2;
*/
int result = age(5);
printf("result = %i\n",result);
return 0;
}
int age(int n)
{
if (n == 1) {
return 10;
}
else
{
// return age(5 - 1) + 2; == age(4) + 2 == 16 + 2
// return age(4 - 1) + 2; == age(3) + 2 == 14 + 2
// return age(3 - 1) + 2; == age(2) + 2 == 12 + 2
// return age(2 - 1) + 2; == age(1) + 2 == 10 + 2
// return age(1); == 10
return age(n - 1) + 2;
}
}
image.png