函数具备递归性质,才能写出递归程序,很明显f(x)=x不成,比如阶乘就可以
f(x)=1*2*3*...*x
可以具备递归定义:
/
1(x=0,1)
f(x)=|
x
*
f(x-1)
(x>1)
x为正整数
则程序如下:
int
fact(int
x){
if(x==0||x==1)return
1;
else
return
x*fact(x-1);
}
什么叫F(x)=X,直接F(X)-X=0就好了。
最后计算时,不要直接用F(X)-X=0
用abs(F(X)-X)<0.00001这个样子比较好,因为C语言的精度原因,精度只有前多少位是准确的,后面的位都是随机数,直接=0有可能会死机。