(1) A frog can jump up to 1 steps at a time, or jump up to 2 levels. Ask the frog to jump on an n-level step with a total number of hops. Recursive mode
public static int f(int n) {
//参数合法性验证
if (n < 1) {
System.out.println("参数必须大于1!");
System.exit(-1);
}
if ( n == 1 Span class= "pun" >| | n == 2 ) return 1 ;
else return f(n - 1) + f(n - 2);
}
Non-recursive mode
public static int fx(int n) {
//参数合法性验证
if (n < 1) {
System.out.println("参数必须大于1!");
System.exit(-1);
}
//n为1或2时候直接返回值
if (n< 2) return 1;
//n>2时候循环求值
int res = 0;
int a = 1;
int b = 1;
for (int i = 2; i <= n; i++) {
res = a + b;
a = b;
b = res;
}
return res;
}
(2) A frog can jump up to 1 steps at a time, can also jump on 2 levels ... It can also jump on the N-level, at which point the frog jumps up the level of the N-step total number of hops?
When n = 1 o'clock, there is only one method of jumping, that is, the 1-Step Jump: Fib (1) = 1;
When n = 2 o'clock, there are two ways of jumping, one-step and second-order jumps: fib (2) = FIB (1) + fib (0) = 2;
When n = 3 o'clock, there are three ways to jump, the first step out of one, followed by FIB (3-1) in the Jump method, the first second out of the second, there is a fib (3-2) in the Jump method, after the first jump out of third order, followed by FIB (3-3) in the Jump method
FIB (3) = FIB (2) + fib (1) +fib (0) = 4;
When n = n, there is a total of n jumps, the first step out of one order, followed by FIB (n-1) in the Jump method, after the first second out of the second, there is a fib (n-2) in the Jump method ..... ..... After the first step out of the N-order, there is a Fib (n-n) jump in the back.
FIB (n) = fib (n-1) +fib (n-2) +fib (n-3) +..........+fib (n-n) =fib (0) +fib (1) +fib (2) +.......+fib (n-1)
And because Fib (n-1) =fib (0) +fib (1) +fib (2) +.......+fib (n-2)
Two-type subtraction: FIB (n)-fib (n-1) =fib (n-1) ===== "fib (n) = 2*fib (n-1) n >= 2
The recursive equation is as follows:
if(number<2)return 1;
//n>2时候循环求值
int res = 0;
int a = 1;
for (int i = 2; i <= number; i++) {
res = 2*a;
a= res;
}
return res;
From for notes (Wiz)
Sword refers to the question of jumping steps for frogs