https://www.acmicpc.net/problem/2193
2193번: 이친수
0과 1로만 이루어진 수를 이진수라 한다. 이러한 이진수 중 특별한 성질을 갖는 것들이 있는데, 이들을 이친수(pinary number)라 한다. 이친수는 다음의 성질을 만족한다. 이친수는 0으로 시작하지 않
www.acmicpc.net
해석 및 팁
이 문제는 얼핏 보기에는 이진수를 활용해야 할 것 같지만 별 관련이 없습니다. 먼지 1 자릿수의 이친 수는 1이고 2 자릿수의 이친 수는 10, 3 자릿수는 100,100 4 자릿수는 1000,1001,1010, 5 자릿수는 10000, 10001, 10101, 10010, 10100 입니다 따라서 n = n-1 + n-2라는 식이 성립합니다. 반복문을 통해 배열에 값을 저장한 후 불러오면 되는 문제입니다.
Java 코드
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
long[] arr = new long[91];
arr[1] = 1;
arr[2] = 1;
for(int i = 3; i <= 90; i++) {
arr[i] = (arr[i - 1] + arr[i - 2]);
}
System.out.println(arr[n]);
}
}
'백준' 카테고리의 다른 글
백준 15651 N과 M (3)(Java) (0) | 2023.02.01 |
---|---|
백준 1966 프린터 큐(Java) (0) | 2023.01.31 |
백준 11727 2×n 타일링 2(Java) (0) | 2023.01.31 |
백준 9461 파도반 수열(Java) (0) | 2023.01.31 |
백준 15650 N과 M (2)(Java) (0) | 2023.01.31 |