2016-09-30 2 views
1

필자는 fibonacci 재귀 메서드의 변형 인 내 코드를 여기 아래에 있습니다. 나는 올바른 n 값을 표시하려고 노력하고 있지만 단순히 작동하지 않습니다 ... 저는 항상 트리플 피보나치의 한 곳을 벗어났습니다 (피보나치 숫자에 영감을받은 삼중 피보나치 숫자는 세 개의 미리 결정된 값으로 시작한다는 것을 의미합니다. 값은 이후 피보나치의 선행 세 값의 합 대신 2)Java에서 트리플 피보나치를 사용하여 재귀 메서드 만들기

public long BinaryOddonacci(int n){ 
    if (n<=2){ // If the n is 0,1 or 2 the answer is 1 
     return 1; 
    } 
    else {return BinaryOddonacci(n-1) + BinaryOddonacci(n-2) + BinaryOddonacci(n-3);} // recursive call 
} 

난 (BinaryOddonacci 10 점점되어야 출력) (105) 인,하지만 I지고되어야 하는지를 인 (193)가 계속 BinaryOddonacci (11) ...

+1

"단순히 작동하지 않습니다 ... 나는 항상 피보나치 형사의 한 곳에서 떨어져 있습니다."구체적인 예를 들어주세요. 실제 산출물은 무엇이며 어떻게 예상과 다른가? –

+0

@ Code-Apprentice가 추가되었습니다! – lesterpierson123

+0

조금 더 간단한 것으로 돌아가 보자. 'BinaryOddonacci (3)'은 무엇을해야합니까? 실제로 무엇을 얻나요? –

답변

1

0 번째, 1 번째 및 2 번째 값을 1로 설정합니다 (이 설명문 당 // If the n is 0,1 or 2 the answer is 1). 그래서 순서는 다음과 같습니다 :

0 : 1 
1 : 1 
2 : 1 
3 : 3 
4 : 5 
5 : 9 
6 : 17 
7 : 31 
8 : 57 
9 : 105 
10 : 193 

, BinaryOddonacci(10) 그것을 반환 무엇 인 193을 반환해야합니다. 여기에 오류가 없습니다.

관련 문제