递归算法c语言 如何对递归进行理解?
浏览量:1299
时间:2021-03-11 11:05:48
作者:admin
如何对递归进行理解?
既然你想用简单的白话来解释递归算法,我就给你解释一下,确保你能理解。
有个熟悉的故事,正好可以解释递归。
这个故事不断地调用自己,递归是一个函数多次调用自己。不同的是递归不能像这个故事那样多次调用自己。递归必须有终止条件,它将在多次调用后终止。
这个解释很口语化。
怎么更好地终极理解递归算法?
递归,通俗地说,就是在程序中调用自己。最典型的例子是因式分解整数。
一般来说,在编写递归程序时,必须有终止条件,否则会形成无限递归,形成死循环。计算n的程序!C语言如下:
#include
void main()
{
INTN=0,result=0
scanf(%d,&n)
result=mydigui(n)
printf(%n!=%dn,result)
}
myudigui(INTN)
{
if(n==1)/*递归程序终止条件:1的阶乘等于1。如果n等于1,则返回1*/
return(1)
否则/*n不等于1,则返回n*mydigui(n-1)。因为:n!=n*(n-1)!*/
返回(n*my)uDiGui(n-1))
}
版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。