빌딩을 오르는 문제에 대해 얕게 살펴보고 귀속시키고 미루다

2664 단어
계단 오르기 문제: n계단이 있다고 가정하면 매번 1단계 또는 2단계를 올라갈 수 있다면 n층까지 올라가는 몇 가지 방안이 있습니까?문제 분석: 1 단계를 가설할 때 하나의 방안 f(1)=1만 있다.2 단계에는 두 가지 방안(즉 한 번에 1 단계와 한 번에 2 단계)이 있다. f(2)=2;3 단계 시 3가지 f(3)=3;4 단계에는 5가지 f(5)=5가 있다.귀속 법칙 f(n)=f(n-1)+f(n-2) 발견;귀속 수출은 f(1)=1, f(2)=2이다.코드 작성(반복):
public class Ladder {

    static int fun(int n){
        if(n == 1){
            return 1 ;
        }else if(n == 2){
            return 2 ;
        }else{
            return fun(n-1) + fun(n-2) ;
        }
    }
}

코드 작성(밀어냄):
static int fun2(int n){
        int a[] = new int [200] ;
        a[1] = 1 ;
        a[2] = 2 ;
        for(int i=3 ; i<=n ;i++){
            a[i] = a[i-1] + a[i-2] ;
        }
        return a[n] ;
    }

 
전재 대상:https://www.cnblogs.com/lightworkshopnoi/p/11416352.html

좋은 웹페이지 즐겨찾기