Park DJ
dj0998
Park DJ
전체 방문자
오늘
어제
  • 분류 전체보기 (363)
    • 백준 (363)

공지사항

인기 글

태그

  • 백준 12605
  • 백준 12871
  • 백준 8892
  • 백준 10709
  • 백준 3049
  • 백준 2591
  • 백준 2225
  • 백준 16926
  • 백준 2343
  • 백준 14582
  • 자바
  • 백준 2467
  • 백준 16194
  • Java
  • 백준 7662
  • 백준 1914
  • 백준 1747
  • 백준 24039
  • 백준 1064
  • 백준 1531
  • 백준 15961
  • 백준
  • 백준 6550
  • 백준 15655
  • 백준 4659
  • 백준 15312
  • 백준 7567
  • 백준 1495
  • 백준 1011
  • 백준 3135
hELLO · Designed By 정상우.
Park DJ

dj0998

백준 13301 타일 장식물(Java)
백준

백준 13301 타일 장식물(Java)

2023. 1. 23. 14:59

https://www.acmicpc.net/problem/13301

 

13301번: 타일 장식물

대구 달성공원에 놀러 온 지수는 최근에 새로 만든 타일 장식물을 보게 되었다. 타일 장식물은 정사각형 타일을 붙여 만든 형태였는데, 한 변이 1인 정사각형 타일부터 시작하여 마치 앵무조개

www.acmicpc.net


 

해석 및 팁

 


 

이 문제는 피보나치수열을 활용하는 문제입니다.  n개의 타일로 구성된 직사각형의 둘레는 n번째 피보나치수열의 값의 4개와 n-1번째 피보나치수열의 값의 2개를 합한 값입니다. n이 80이 되면 값이 매우 커지기 때문에 BingInter을 활용하면 풀 수 있습니다,

 


 

Java 코드

 


import java.util.Scanner;
import java.math.BigInteger;

public class Main {
  public static void main(String[] args) {
    Scanner sc = new Scanner(System.in);

    int n = sc.nextInt();
    BigInteger[] arr= new BigInteger[n+2];

    arr[0] = new BigInteger("0");
    arr[1] = new BigInteger("1");

    for(int i = 2; i <= n; i++) {
      arr[i] = arr[i-1].add(arr[i-2]);
    }
    
    System.out.println(arr[n].multiply(BigInteger.valueOf(4)).add(arr[n-1].multiply(BigInteger.valueOf(2))));
  }
}

 

'백준' 카테고리의 다른 글

백준 1343 폴리오미노(Java)  (0) 2023.01.23
백준 11576 Base Conversion(Java)  (0) 2023.01.23
백준 5635 생일(Java)  (0) 2023.01.23
백준 1652 누울 자리를 찾아라(Java)  (1) 2023.01.23
백준 2839 설탕 배달(Java)  (0) 2023.01.23
    '백준' 카테고리의 다른 글
    • 백준 1343 폴리오미노(Java)
    • 백준 11576 Base Conversion(Java)
    • 백준 5635 생일(Java)
    • 백준 1652 누울 자리를 찾아라(Java)
    Park DJ
    Park DJ

    티스토리툴바