如何加快函数“递归调用”的速度???
这是一个递归调用的例子,怎么样能使调用更快?请高手们多多指导!
#include<math.h>
#include<string.h>
#include<stdio.h>
age(int n)
{int c;
if(n==1) c=122020;
else c=age(n-1)+2;
return(c);
}
void main()
{
printf("%d\n",age(154962));
}
double Surplus(double A[],int m,int n) { /*求矩阵行列式*/ int i,j,k,p,r; double X,temp=1,temp1=1,s=0,s1=0; if (n==2) { for (i=0;i<m;i++) for (j=0;j<n;j++) if ((i+j)%2) temp1*=A[i*n+j]; else temp*=A[i*n+j]; X=temp-temp1; } else { for (k=0;k<n;k++) { for (i=0,j=k;i<m,j<n;i++,j++) temp*=A[i*n+j]; if (m-i) { for (p=m-i,r=m-1;p>0;p--,r--) temp*=A[r*n+p-1]; } s+=temp; temp=1; } for (k=n-1;k>=0;k--) { for (i=0,j=k;i<m,j>=0;i++,j--) temp1*=A[i*n+j]; if (m-i) { for (p=m-1,r=i;r<m;p--,r++) temp1*=A[r*n+p]; } s1+=temp1; temp1=1; } X=s-s1; } return X; }网上找的行列式算法,人家的是O(n2)的,你的是O(n3)的,估计会快一点点……其实我也不懂……