package week5;
import org.junit.Test;
/*
*斐波纳契数列 f1 = f2 = 1,f(n) = f(n-1)+f(n-2),n>=3
*如:1 1 2 3 5 8 13 21 34 55.。。。。。。。。。。。
* */
public class Fibonacci {
@Test
public void test(){
// System.out.print(getNumber(1,1,10));
fibonacci(1,1,10);
}
//迭代形式
public int getNumber(int num1,int num2,int n){
int num=0 ;
int temp1 = num1,temp2 = num2;
for(int i=3; i<= n; i++){
num = temp1+temp2;
temp1 = temp2;
temp2 = num;
}
return num;
}
//递归形式
public void fibonacci(int num1,int num2,int n){
int num;
int temp1 = num1;
int temp2 = num2;
num = temp1+temp2;
if(n>3){//递归出口
fibonacci(temp2,num,n-1);
}
}
}
import org.junit.Test;
/*
*斐波纳契数列 f1 = f2 = 1,f(n) = f(n-1)+f(n-2),n>=3
*如:1 1 2 3 5 8 13 21 34 55.。。。。。。。。。。。
* */
public class Fibonacci {
@Test
public void test(){
// System.out.print(getNumber(1,1,10));
fibonacci(1,1,10);
}
//迭代形式
public int getNumber(int num1,int num2,int n){
int num=0 ;
int temp1 = num1,temp2 = num2;
for(int i=3; i<= n; i++){
num = temp1+temp2;
temp1 = temp2;
temp2 = num;
}
return num;
}
//递归形式
public void fibonacci(int num1,int num2,int n){
int num;
int temp1 = num1;
int temp2 = num2;
num = temp1+temp2;
if(n>3){//递归出口
fibonacci(temp2,num,n-1);
}
}
}