실례3: 귀속과 순환 - 피보나치 수열

1376 단어 실전 실례
문제 설명: 모두가 피보나치 수열을 알고 있습니다. 현재 정수 n을 입력해 주십시오. 피보나치 수열의 n항을 출력해 주십시오.n<=39
지식 확장: 귀속의 간단한 정의: 함수가 직접 또는 간접적으로 자신을 호출할 때 귀속이 발생한다.
귀속 구조는 두 가지 부분을 포함한다.
정의 귀속 헤드: 언제 자신의 방법을 사용하지 않는지, 머리가 없으면 사순환에 빠진다
귀속체: 언제 자신의 방법을 사용해야 합니까?
문제 분석: 피보나치 수열: F(0)=0, F(1)=1, F(n)=F(n-1)+F(n-2)(n>=2, n∈N*)
가장 직관적인 생각은 함수의 귀속을 이용하여 하는 것이다.또 다른 방법은 세 가지 변수를 정의하고 교환의 개념을 이용하는 것이다.
코드 구현:
public class Demo1 {
    public int Fibonacci(int n) {
	    // : 
        /*int result[] = { 0, 1 };  
          if (n < 2) {  
          return result[n];  
        }  
        int f0 = 0;  
        int f1 = 1;  
        int f2 = 0;  
        for (int i = 2; i <= n; i++) {  
            f2 = f1 + f0;  
            f0 = f1;  
            f1 = f2;  
        }  
        return f2; */
        // : 
	    int result;
	    if(n<=0){
	        return 0;
	    }else if(n==1||n==2){
	        return 1;
	    }else{
	        result = Fibonacci(n-1)+Fibonacci(n-2);
	    }
	    return result;
    }
	
    public static void main(String[] args) {
	    Scanner scanner = new Scanner(System.in);
	    System.out.println(" n(n<=39):");
	    int a = scanner.nextInt();
	    Demo1 demo1 = new Demo1();
	    int res = demo1.Fibonacci(a);
	    System.out.println(res);
	    scanner.close();
    }
}

출력 결과:
정수 n(n<=39):10 55를 입력하십시오.

좋은 웹페이지 즐겨찾기