실례3: 귀속과 순환 - 피보나치 수열
1376 단어 실전 실례
지식 확장: 귀속의 간단한 정의: 함수가 직접 또는 간접적으로 자신을 호출할 때 귀속이 발생한다.
귀속 구조는 두 가지 부분을 포함한다.
정의 귀속 헤드: 언제 자신의 방법을 사용하지 않는지, 머리가 없으면 사순환에 빠진다
귀속체: 언제 자신의 방법을 사용해야 합니까?
문제 분석: 피보나치 수열: 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를 입력하십시오.