찰스 배비지의 차분기관
면접 대비시간 제한1초메모리 제한128 MB
0부터 n까지의 다항식 값을 유한 차분표로 x=50까지 확장하고 p(50)을 출력합니다.
문제
차분기관은 다항식의 값을 표로 만들어 주는 기계식 자동 계산기다. 이름은 분할 차분법에서 왔다. 분할 차분법은 다항식 계수 몇 개만으로 함수를 보간하거나 표로 만드는 방법이다. 항해사와 과학자가 늘 쓰는 로그 함수와 삼각 함수도 다항식으로 근사할 수 있어서, 차분기관 하나로 유용한 수표를 여러 종류 계산할 수 있다.
수학자와 컴퓨터라 불린 계산원이 손으로 만든 수표에는 오류가 끊이지 않았다. 찰스 배비지는 이 작업을 기계로 자동화하려 했다.
차분기관의 원리는 뉴턴의 분할 차분법이고, 유한 차분법이라고도 부른다. 어떤 에서 다항식의 값과 그 유한 차분을 한 번 구해 두면, 기관은 그 근처의 값을 얼마든지 계산할 수 있다. 이차 다항식 의 를 차례로 표로 만드는 경우를 보자. 아래 표에서 둘째 열은 다항식의 값이고, 셋째 열은 둘째 열에서 이웃한 두 값의 차이고, 넷째 열은 셋째 열에서 이웃한 두 값의 차다.
셋째 값 열의 수는 일정하다. 차수가 인 다항식에서 출발하면 값 열의 번째는 항상 일정하고, 이 방법 전체가 그 사실에 기댄다.
각 열의 첫 값은 함수의 연속한 값 개에서 얻는다. 그 값을 먼저 구하고, 거꾸로 필요한 차를 계산하면 된다.
배비지의 차분기관을 재현하는 프로그램을 작성하라. 차수가 이하인 다항식의 부터 까지가 주어지면, 표를 까지 밀고 나가 을 구한다.
입력
첫 줄에 테스트 케이스의 개수 가 주어진다 ().
다음 개 줄에 각각 테스트 케이스가 다음 형식으로 주어진다.
n p(0) p(1) p(2) ... p(n)
은 다항식의 차수이고 이다. 그 뒤에 정수 부터 까지 개가 이어진다. 모든 값은 을 만족한다.
출력
각 테스트 케이스마다 Case #x: M 형식으로 한 줄을 출력한다. x는 1부터 시작하는 케이스 번호이고, M은 그 다항식의 이다. 답은 부호 있는 64비트 정수 범위에 들어간다.