计算斐波纳契数列
常用递归..效率低下,40,估计能跑半天.
static long recurFib(int n)
{
if (n < 2)
return n;
else
return recurFib(n - 1) + recurFib(n - 2);
}
动态规划算法 使用中间变量,,,, 效率明显..
static long iterFib(int n)
{
int[] val = new int[n];
if ((n == 1) || (n == 2))
return 1;
else
{
val[1] = 1;
val[2] = 2;
for (int i = 3; i <= n - 1; i++)
val[i] = val[i - 1] + val[i - 2];
}
return val[n - 1];
}
static long iterFib1(int n)
{
long last, nextLast, result;
last = 1;
nextLast = 1;
result = 1;
for (int i = 2; i <= n - 1; i++)
{
result = last + nextLast;
nextLast = last;
last = result;
}
return result;
}