티스토리 뷰

학교공부/JAVA

[JAVA] Fibonacci numbers

yunmap 2017. 7. 26. 20:25
DESCRIPTION

(피보나치 숫자들) 반복문을 이용하여 18.2에 나열된 메소드를 다시 작성하시오. 즉, 반복문을 이용하여 피보나치 수열을 구하시오.

(Fibonacci numbers) Rewrite the fib method in Listing 18.2 using iterations.

 

INPUT

* Line 1 :  테스트 케이스 T (1~1,000)

* Line 2 ~ T+1 : n (1~20)

OUTPUT

* Line 1 ~ T : fib(n) 

SAMPLE INPUT
3
2
9
18
SAMPLE OUTPUT
1
34
2584
HINT

힌트 : 재귀호출 없이 fib(n)를 계산하려면, fib(n-2)와 fib(n-1)을 먼저 계산하여야 한다. f0과 f1을 전전항과 전항의 피보나치 숫자라고 하자. 구하고자 하는 피보나치 숫자는 f0 + f1이 될 것이다. 알고리즘은 다음과 같이 표현될 수 있다:

Hint: To compute fib(n) without recursion, you need to obtain fib(n - 2) and fib(n - 1) first. Let f0 and f1 denote the two previous Fibonacci numbers. The current Fibonacci number would then be f0 + f1. The algorithm can be described as follows:

 

f0 = 0; // For fib(0)
f1 = 1; // For fib(1)
for (int i = 1; i <= n; i++) {
	currentFib = f0 + f1;
	f0 = f1;
	f1 = currentFib;
}
// After the loop, currentFib is fib(n)

사용자 입력을 받아 피보나치 숫자를 출력하는 프로그램을 작성하시오.

Write a test program that prompts the user to enter an index and displays its

Fibonacci number.

 

SOURCE

JAVA2015 PE18.2


'학교공부 > JAVA' 카테고리의 다른 글

[JAVA] 미로 탈출  (0) 2017.07.26
[JAVA] 문자열 순열  (0) 2017.07.26
[JAVA] Factorial  (0) 2017.07.26
[JAVA] 유리수 클래스2  (0) 2017.07.26
[JAVA] 유리수 클래스1  (0) 2017.07.26
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함