문제는 다음과 같습니다.
https://www.acmicpc.net/problem/1003
import java.util.Scanner; public class test { private static int fiboZero = 0; private static int fiboOne = 0; public static int fibonacci(int n) { if(n==0){ fiboZero++; return 0; }else if(n==1){ fiboOne++; return 1; }else return fibonacci(n-1) + fibonacci(n-2); } public static void main(String[] args) { System.out.print("반복할 횟수를 입력하세요 : "); Scanner sc = new Scanner(System.in); int num = sc.nextInt(); for (int i=0; i<num; i++) { fibonacci(sc.nextInt()); System.out.println(i+"번째 수"+fiboZero + " "+(i+1)+"번째 수" + fiboOne); //초기화 부분 fiboZero = 0; fiboOne = 0; } } }
결과입니다.
추가로 n번째 피보나치 수열을 구하는 코드입니다.
import java.util.Scanner; public class test { public static int fibonacci(int n){ if(n==0){ return 0; } else if(n==1 || n==2){ return 1; }else{ return fibonacci(n-1) + fibonacci(n-2); } } public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.print("수를 입력하세요 : "); int scInt = sc.nextInt(); for(int i=0; i<=scInt; i++){ System.out.print(fibonacci(i)+" "); } } }
결과입니다.
'프로그래밍 > 알고리즘' 카테고리의 다른 글
백준 알고리즘 for문 사용해보기!! (0) | 2017.08.31 |
---|---|
백준 알고리즘 2609번 : 최대공약수와 최소공배수 구하기! (0) | 2017.08.22 |
선택 정렬(Selection Sort) 와 버블 정렬 (Bubble Sort) (2) | 2017.08.04 |
백준 알고리즘 1929번 : 소수 구하기!! (0) | 2017.08.04 |
백준 알고리즘 2675번 : 문자열 반복 (0) | 2017.08.04 |