-
[JAVA] 알고리즘 문제 - 파보나치수열Java 알고리즘 문제/자바(Java) 알고리즘 문제풀이 입문 2023. 8. 9. 11:29반응형
파보나치수열
피보나치 수열이란 앞의 2개의 수를 합하여 다음 숫자가 되는 수열이다.
설명
1) 피보나키 수열을 출력한다. 피보나치 수열이란 앞의 2개의 수를 합하여 다음 숫자가 되는 수열이다.
2) 입력은 피보나치 수열의 총 항의 수 이다. 만약 7이 입력되면 1 1 2 3 5 8 13을 출력하면 된다.
입력
첫 줄에 총 항수 N(3<=N<=45)이 입력된다.
출력
첫 줄에 피보나치 수열을 출력합니다.
예시입력
10
예시출력
1 1 2 3 5 8 13 21 34 55
import java.util.Scanner; public class Main { public int[] test(int n) { int[] answer = new int[n]; int a = 1; for(int i=0; i<n; i++) { if(i<2) { answer[i] = a; }else { answer[i] = answer[i-2] + answer[i-1]; } } return answer; } public static void main(String[] args){ Main t = new Main(); Scanner kb = new Scanner(System.in); int n = kb.nextInt(); for(int x: t.test(n)) { System.out.printf(x + " "); } } }
파보나치 수열이 생소하였지만 문제를 잘 읽어보면 그냥 i번째 위치하는 숫자는 i-2 번째 + i-1번째 숫자의 합과 동일하다.
public int[] test(int n) { int[] answer = new int[n]; int a = 1; for(int i=0; i<n; i++) { if(i<2) { answer[i] = a; }else { answer[i] = answer[i-2] + answer[i-1]; } } return answer; }
우선 출력할 숫자를 입력받으면 우리는 해당 숫자를 이용하여 파보나치 수열을 생성한다.
해당 숫자만큼의 배열을 생성한 후 첫번재, 두번째의 경우는 1의 값을 세팅한다.
그리고 3번째부터는 [i-2]에 위치한 값과 [i-1]에 위치한 값을 더해준 값을 입력시켜주면 된다.
반응형'Java 알고리즘 문제 > 자바(Java) 알고리즘 문제풀이 입문' 카테고리의 다른 글
[JAVA] 알고리즘 문제 - 소수뒤집기 (0) 2023.08.09 [JAVA] 알고리즘 문제 - 소수(에라토스테네스 체) (0) 2023.08.09 [JAVA] 알고리즘 문제 - 가위 바위 보 (0) 2023.08.09 [JAVA] 알고리즘 문제 - 보이는 학생 (0) 2023.08.09 [JAVA] 알고리즘 문제 - 암호 해독하기 (0) 2023.08.09