c#递归啊啊 啊?
答案:3 悬赏:60 手机版
解决时间 2021-01-24 04:51
- 提问者网友:低吟詩仙的傷
- 2021-01-23 17:14
好像多写了一个 乘号 谁知道怎么弄的 原理是啥
最佳答案
- 五星知识达人网友:野慌
- 2021-01-23 18:32
int fun(int a)
{
if(1 == a)
return ;
else
return fun(a -1);
}
这就是递归,说白了就是自己调用自己,直到满足条件为止
{
if(1 == a)
return ;
else
return fun(a -1);
}
这就是递归,说白了就是自己调用自己,直到满足条件为止
全部回答
- 1楼网友:纵马山川剑自提
- 2021-01-23 20:12
递归就是重复调用。只是每次调用的参数可能不同。
就拿你说的这个计算阶乘的方法来说;
当n=5时,调用fact(5),因为5不小于1,所以返回5*fact(4);
由于4也不小于1,所以fact(4)返回4*fact(3),整个式子返回5*4*fact(3);
一次类推,最后会得到5*4*3*2*fact(1),由于1还是不小于1,所以fact(1)将返回1*fact(0),整个式子返回5*4*3*2*1*fact(0);
由于0小于1,所以fact(0)返回1,整个式子返回5*4*3*2*1*1;它在数值上正好等于5的阶乘,不过最后一个1看着好像很便扭。
将代码改为
if(1==n)
{return 1;}就不会出现最后一个1了。
最后要说的是
递归就是重复调用同一个方法,通过每次调用时传递不同的参数可达到不同的目的,求阶乘就是利用了这种思想。还有文件目录的遍历等都需要利用这种思想。
- 2楼网友:持酒劝斜阳
- 2021-01-23 19:46
递归就是一个函数自己调用自己,并且在内部设置了边界(就是设置了一个满足条件结束递归)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯