更新时间2018-04-23 17:00:00
int r(int n)
{
int i;
if(n<=5)
return 0;
for(i=1;i<=5;i++)
if(r(n-i)<0)
return i;
return 0;
}
int main()
{
int n;
cin>>n;
cout<<r(n)<<endl;
return 0;
}
输入:16
输出:
r(n-i)就是再调用一次r()函数,只不过参数变成了n-i。
这是一个递推公式,一直到传入的参数n不大于5的时候才不递推,直接返回0
if (r(n-i)) < 0
return i;
就是返回满足取消递归条件的i,返回给上一层调用