반응형
안녕하세요! Plitche(플리체)입니다.
이번 포스팅의 주제는 Q1855 : [기초-재귀함수] 재귀로 n번째 피보나치 수 리턴하기 (자바, JAVA)입니다.
Intro
Question
문제 설명
입력
.int 형 정수(n) 1개가 입력된다.
(1 <= n <= 30)
출력
n 번째 피보나치 수를 출력한다.
예시
- 입력 : 6
- 출력 : 8
Solution (풀이)
- 풀이 : 메모리 11172, 시간 : 70
public class Answer1 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int count = Integer.parseInt(br.readLine());
// 해당 자리, 몇 번째, 이전 값, 이후 값
loop(0, count, 1, 2);
}
public static void loop(int index, int count, int bef, int aft) {
if (count==1 || count==2) { // 1,2 中 한가지 숫자가 들어왔을 때에는 그냥 1 출력(피보나치 수열)
System.out.println(1);
return;
}
if (index+4>=count) {
System.out.println(bef+aft);
} else {
loop(index+1, count, aft, bef+aft);
}
}
}
Ranking(순위)
반응형
'Algorithm > CodeUp' 카테고리의 다른 글
[CodeUp_Java] Q1854 : 재귀로 각 자리 수의 합 리턴하기 (0) | 2022.12.05 |
---|---|
[CodeUp_Java] Q1856 : 계단 뛰어 오르기 (0) | 2022.12.02 |
[CodeUp_Java] Q1857 : 서로 다른 n개 중에서 r개 순서없이 고르기 (0) | 2022.12.02 |
[CodeUp_Java] Q1858 : 파스칼의 삼각형 출력하기 1 (0) | 2022.12.01 |
[CodeUp_Java] Q1929 : 재귀로 1부터 n까지 합 리턴하기 (0) | 2022.12.01 |