본문 바로가기
공부하자/알고리즘

[백준] 10870번 피보나치 수 5 C, java

by snbrin 2022. 1. 19.

https://www.acmicpc.net/problem/10870

 

10870번: 피보나치 수 5

피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가

www.acmicpc.net

 

C

#include <stdio.h>

int fibo(int n);

int main() {

	int n;

	scanf("%d", &n);	//반복할 횟수

	printf("%d", fibo(n+1));	//fibo함수 출력하기

	return 0;

}

//피보나치 수열 재귀함수
int fibo(int n) {

	if (n <= 1) return 0;
	else if (n == 2) return 1;

	else
		return fibo(n - 1) + fibo(n - 2);

}

 

java

package javastd1;

import java.util.Scanner;

public class bj10870 {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

		Scanner sc = new Scanner(System.in);
		
		int n = sc.nextInt();
		
		System.out.println(fibo(n+1));
		
	}
	
	
	static int fibo(int n) {
		
		if(n<=1) return 0;
		
		else if(n==2) return 1;
		
		else
			return fibo(n-1) + fibo(n-2);
		
	}

}

 

피보나치 수열은 알고리즘에서 아주 기초 초보 문제!! 학부 때 가장 처음으로 했던 기억이 난다.

c, java 모두 재귀함수를 사용해 같은 방법으로 해결했다.