f(n) = f(n-1)+f(n-2)
**f(1) = 1
**f(2) = 2
1. 재귀함수
public int solution(int N){
if(N <= 2){
return N;
}
return solution(N-1)+solution(N-2);
}
2. 피보나치 수열
public int solution2(int N){
int a = 1;
int b = 2;
if(N==1){
return a;
}
//a = f(n-1)
//b = f(n)
for(int i =3 ; i <= N; i++){
int temp = a+b;
a = b;
b = temp;
}
return b;
}
그림으로 이해하는 피보나치 수열♡♥♣♪♥♤♥
ex) f(4)

'알고리즘' 카테고리의 다른 글
| [알고리즘]시저암호_알파벳 초과시 offset 방법(z이상으로 넘어갈 경우, a부터 카운트)_프로그래머스 문제 (0) | 2024.01.24 |
|---|---|
| [알고리즘] 자연수 뒤집어 배열로 만들기(프로그래머스 문제) (0) | 2024.01.24 |
| [알고리즘]nC4를 이용한 알고리즘과 nP4를 이용한 알고리즘(경우의수) (0) | 2023.06.19 |
| [알고리즘]인수로 들어온 정수의 약수 구하기_java (0) | 2023.06.15 |
| [알고리즘]HashSet을 이용한 집합연산(합집합,교집합,차집합) + 프로그래밍적 집합연산 (0) | 2023.06.14 |