2013년 9월 13일 금요일

[자바교육/java교육/java언어/자바초보교육]자바에서 피보나치 수열 구현하기, JAVA FIBONACCI , 자바강좌, java강좌 오라클자바커뮤니티에서 설립한 개발자교육6년차 오엔제이프로그래밍

[자바교육/java교육/java언어/자바초보교육]자바에서 피보나치 수열 구현하기, JAVA FIBONACCI , 자바강좌, java강좌


오라클자바커뮤니티에서 설립한 개발자교육6년차 오엔제이프로그래밍 실무교육센터
(오라클SQL,튜닝,힌트,자바프레임워크,안드로이드,아이폰,닷넷 실무개발강의)  



fibonacci 수열이란
1, 1, 2, 3, 5, 8, 11,,, 등과 같이 
처음과 두번째 항은 1이고, 이후의 것들은 앞의 두값을 더하는 구조로 되어 
있다...

즉 f(n) = f(n-1) + f(n-2)

우선 반복적 알고리즘(비 재귀적 알고리즘)으로 이를 구현해 보자...

class Fibo {
long fibo(int value) {
int jun=1, hoo=1, tmp=0;
if (value == 1 || value== 2){
return 1;
}
for(int i=3;i<=value; i++) {
tmp = hoo;
hoo = jun + hoo;
jun = tmp;
}
return hoo;
}

public static void main(String[] args) {
if (args.length<1) {
System.out.println("Usage : java Fibo number ");
System.exit(1);
}
                int value = Integer.parseInt(args[0]);
                Fibo f = new Fibo();
System.out.println("입력숫자 : " + value);
System.out.println("--- 피보나치 수열 ---");
for(int i=1; i <= value; i++) {
System.out.print(f.fibo(i) + "  ");
if (i % 8 ==0)System.out.println("");
}
System.out.println("");
}
}

아래에는 재귀호출을 이용하여 쪽 같이 구현해 보았다...

class Fibo1 {
long fibo(int value) {
if (value == 1 || value== 2){
return 1;
}
return fibo(value-1) + fibo(value -2);
}

public static void main(String[] args) {
if (args.length<1) {
System.out.println("Usage : java Fibo1 number ");
System.exit(1);
}
                int value = Integer.parseInt(args[0]);
Fibo1 f = new Fibo1();

System.out.println("입력숫자 : " + value);

System.out.println("--- 피보나치 수열 ---");
for(int i=1; i <= value; i++) {
System.out.print(f.fibo(i) + "  ");
if (i % 8 ==0)System.out.println("");
}
System.out.println("");
}


[개강확정강좌]



오라클자바커뮤니티에서 추천하는 실전 개발자 과정 - 개인80%환급






댓글 없음:

댓글 쓰기