Notice
Recent Posts
Recent Comments
Link
«   2024/11   »
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
Tags more
Archives
Today
Total
관리 메뉴

ultra_dev

배열.피보나치 수열 본문

알고리즘

배열.피보나치 수열

ultra_dev 2023. 1. 12. 01:35

4. 피보나치 수열 (앞에 2개 더해서 뒤에 숫자 생김)

설명

1) 피보나치 수열을 출력한다. 피보나치 수열이란 앞의 2개의 수를 합하여 다음 숫자가 되는 수열이다.

2) 입력은 피보나치 수열의 총 항의 수 이다. 만약 7이 입력되면 1 1 2 3 5 8 13을 출력하면 된다.

입력

첫 줄에 총 항수 N(3<=N<=45)이 입력된다.

출력

첫 줄에 피보나치 수열을 출력합니다.

예시 입력 1

10

예시 출력 1

1 1 2 3 5 8 13 21 34 55

📌 0,1번째를 1을 주고 시작..? 배열 피보나치수열

import java.lang.reflect.Array;
import java.util.*;
import java.util.Scanner;

class Main {
    public int[] solution(int n) {
        int[] answer = new int[n];
        answer[0] = 1;
        answer[1] = 1;

        /* i-2를 비교해야하니 2부터 시작하게하고 위에 [0],[1]을 위에 지정해주는?*/

        for (int i = 2; i < n; i++) {
            answer[i] = answer[i - 2] + answer[i - 1];

        }
        return answer;
    }

        public static void main (String[]args){
            Main T = new Main();
            Scanner sc = new Scanner(System.in);
            int n = sc.nextInt();
            for (int x : T.solution(n)) System.out.println(x + " ");
        }
    }

📌배열 안쓰고

import java.lang.reflect.Array;
import java.util.*;
import java.util.Scanner;

class Main {
    public void solution(int n) {
      int a=1, b=1 ,c;
        System.out.print(a+ " " + b + " ");
        for (int i = 2; i < n; i++) {
            c= a+b;
            System.out.print(c+ " ");
				//이제 다시 1 1 2 3 5 에서 한칸씩 뒤로 a자리에 b넣고 b자리에 c넣고  
            a=b;
            b=c;
        }

    }

        public static void main (String[]args){
            Main T = new Main();
            Scanner sc = new Scanner(System.in);
            int n = sc.nextInt();
            T.solution(n);
        }
    }

'알고리즘' 카테고리의 다른 글

배열.뒤집은 소수  (0) 2023.01.29
배열.에라토스테네스 체(소수 구하기)  (1) 2023.01.12
배열.가위바위보  (0) 2023.01.12
배열.보이는 학생  (0) 2023.01.12
배열.큰 수 출력하기  (0) 2023.01.12
Comments