책좀 보다가 그냥 문뜩 만들어볼까 해서 만들었는데
동적계획을 활용해서 해보았어
질문!
1. 이 코드를 보았을때 내가 동적계획을 제대로 이해하고있는건지
2. 효율성은 어떤거같은지
형들도 공부할겸~~ 답변좀 한번 부탁해
import java.util.Scanner;
public class Fibonachi {
public static void main(String[] args) {
// TODO Auto-generated method stub
Fibonachi fibo = new Fibonachi();
System.out.println("피보나치수열 연습...");
System.out.println("피보나치의 항의 개수를 입력하시오");
Scanner in = new Scanner(System.in);
int num = in.nextInt();
int sum = 0;
//동적계획으로 해보자
int [] array = new int[num];
for(int i=0; i<num; i++)
{
array[i] = 0;
}
for(int i=1; i<=num; i++)
{
sum += fibo.fibonachi(i, array);
}
System.out.println(num + "항 까지의 피보나치수열의 합 : " + sum);
}
int fibonachi(int num, int[] array)
{
if(num <= 2)
{
array[num-1] = 1;
return array[num-1];
}
if(array[num-2] != 0)
{
return array[num-2] + fibonachi(num-2, array);
}
return fibonachi(num-1, array) + fibonachi(num-2, array);
}
}
무플인 이유가뭐냐? 일단 그 이유부터 궁금해졌어
무소식이 희소식
피보나치 수열은 알고리즘 시험문제일뿐. 지문내용에 맞게 가로에 알맞은 수식을 넣으면 됨
array가 많이 이상하다고 생각한다.
솔직히 이해를 못했다 ㅋㅋ 어렵게 짰네