● 手写代码:青蛙跳台阶
参考回答:
递归:
int Fib(int n) {
if (1 == n || 2 == n)
return n;
else
return Fib(n - 1) + Fib(n - 2);
}
}
非递归:
public static int calc3(int n) {
if (1 == n || 2 == n)
return n;
int s1 = 1, s2 = 2, s3 = 1;
for (int i = 3; i <= n; i++) {
s3 = s1 + s2;
s1 = s2;
s2 = s3;
}
return s3;
}