상세 컨텐츠

본문 제목

[java] 재귀함수(recursion) 연습문제

java

by ~지우~ 2021. 7. 10. 09:55

본문

728x90

오늘은 「java_an_introduction_to_problem_solving_and_programming_6th_edition」 839페이지 7번 문제를 풀어보겠습니다.

 

출처: java_an_introduction_to_problem_solving_and_programming_6th_edition 

 

재귀함수로 구현할 수 있는 대표적인 문제인 피보나치 수열 문제입니다.

입력한 수를 n 이라고 할 때, n번째 피보나치 수와 (n번째 피보나치 수/n-1번째 피보나치 수)를 출력하는 코드를 작성하면 됩니다.

 

import java.util.Scanner;
public class Fibonacci {
	
	public static int Fibo(int n) {
		if(n==1) return 0;
		else if(n==2) return 1;
		else return Fibo(n-1)+Fibo(n-2);
	}
	public static void main(String[] args) {
		Scanner keyboard = new Scanner(System.in);
		System.out.println("Enter number: ");
		int n = keyboard.nextInt();
		for(int i=1;i<=n;i++){
			System.out.print("Fibonacci #"+i+" = "+Fibo(i));
			if(i>2) System.out.println("; "+Fibo(i)+"/"+Fibo(i-1)+" = "+(float)(Fibo(i))/(float)(Fibo(i-1)));
			else System.out.println();
		}
		keyboard.close();
	}

}
728x90

관련글 더보기

댓글 영역