피보나치 수열
피보나치 수열은 바로 이전의 두 항의 합으로 다음의 새로운 항이 만들어지는 수열이다.
첫 번째 항을 f0이라고 하고 그 다음을 항을 f1이라고 하면, f0=0, f1=1이 되고 일반항 f(n)=f(n-1)+f(n-2)가 된다.(단 n은 2이상)
피보나치 수열 알고리즘
fibonacci(n)
if (n<0) then
stop;
if (n<=1) then
return 1;
f1=0;
f2=1;
for(i=2;i<=n;i++) do {
fn=f1+f2;
f1=f2;
f2=fn;
}
return fn;
end
피보나치 수열 소스코드
public class fibo {
public static void main(String[] args) {
int a=10;
int result=0;
result=fibonacci(a);
System.out.println(a+"번째 피보나치 수열은"+result+"입니다.");
}
static int fibonacci(int n){
if(n<=0){
System.out.println(0);
return 0;
}
else if(n<=1){
System.out.println(1);
return 1;
}
else{
int f0=0, f1=1,temp=0;
System.out.print(f0+" "+f1+" ");
for(int i=2;i<=n ; i++){
temp=f0+f1;
f0=f1;
f1=temp;
System.out.print(temp+" ");
}
return temp;
}
}
}
'Cording' 카테고리의 다른 글
코딩) 최소공배수 (0) | 2014.11.27 |
---|---|
코딩) 최대공약수 (0) | 2014.11.27 |
코딩) 약수 구하기 (0) | 2014.11.27 |
코딩) 소수 구하기 (0) | 2014.11.27 |
코딩) 재귀호출_팩토리알 (0) | 2014.11.27 |