게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
7일 1코딩 연습(뻘글) 백준 알고리즘 피보나치 피사노 주기
게시물ID : programmer_22591짧은주소 복사하기
작성자 : 궭뷁뛣뉅
추천 : 0
조회수 : 925회
댓글수 : 2개
등록시간 : 2018/09/02 22:51:10

피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다.

이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n>=2)가 된다.

n=17일때 까지 피보나치 수를 써보면 다음과 같다.

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597

n이 주어졌을 때, n번째 피보나치 수를 구하는 프로그램을 작성하시오.

출력
첫째 줄에 n번째 피보나치 수를 1,000,000으로 나눈 나머지를 출력한다.   


 Scanner sc = new Scanner(System.in);
        long n = sc.nextLong();
        if(n == 0) {
        System.out.println(0);
        return;
        }
        
        long[] list = new long[(int) (n % 1500000) + 1];
        list[0] = 0;
        list[1] = 1;
        long mod = 1000000;
        int i = 2;
        for (; i < list.length; i++) {
            list[i] = (list[i - 2] % mod) + (list[i - 1] % mod);
            list[i] = list[i] % mod;
        }
        System.out.println(list[i - 1]);
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호