1부터 n까지 각 수의 m제곱을 모두 더한 값은
S(n,m)=∑j=1njm
이며, 이는 n에 대한 차수 m+1의 다항식으로 나타낼 수 있다.
S(n,m)=∑k=1m+1F(m,k)nk
예를 들면 다음과 같다.
S(n,1)=1+⋯+n=21n2+21n
S(n,2)=1+⋯+n2=31n3+21n2+61n
S(n,3)=1+⋯+n3=41n4+21n3+41n2
S(n,4)=1+⋯+n4=51n5+21n4+31n3−301n
위 식에 나오는 계수 F(m,k)는 폴하버의 삼각형을 이룬다.
F(m,k)에서 행 번호 m은 맨 위가 0번이고, 열 번호 k는 맨 왼쪽이 1번이다.
폴하버의 삼각형은 다음과 같이 만들 수 있다.
- j>1일 때 F(i,j)=jiF(i−1,j−1)이다.
- F(i,1)은 i번째 행의 값을 모두 더했을 때 1이 되도록 정한다.
m과 k가 주어졌을 때 F(m,k)를 구하는 프로그램을 작성하라.