문제

다음의 점화식에 의해 정의된 수열 t(n)을 생각하자:

  • t(0)=1
  • t(n)=t(0)*t(n-1)+t(1)*t(n-2)+...+t(n-1)*t(0)

이 정의에 따르면,

  • t(1)=t(0)*t(0)=1
  • t(2)=t(0)*t(1)+t(1)*t(0)=2
  • t(3)=t(0)*t(2)+t(1)*t(1)+t(2)*t(0)=5
  • ...

주어진 입력 0 ≤ n ≤ 35에 대하여 t(n)을 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 n (0 ≤ n ≤ 35)이 주어진다.

출력

첫째 줄에 t(n)을 출력한다.

예제 입력 1

3

예제 출력 1

5

예제 입력 2

25

예제 출력 2

4861946401452

더보기

Solution

#include<stdio.h>

int main(void)
{
	long int t[36]={1,0};
	int n;

	for(int i=1;i<36;i++)
		for(int j=0;j<i;j++)
			t[i]+=t[j]*t[i-j-1];

	scanf("%d", &n);
	printf("%ld\n", t[n]);
	return 0;
}
728x90

+ Recent posts