问题
和分解
当加0到 N的K个整数时,请编写和为N时的情况有多少种的程序。 (加法的顺序变换时,看作不同的情况(1+2和 2+1时为不同的情况。),还有一个数可以使用多次)
输入
第一行给出,两个整数N(1≤N≤200), K(1≤K≤200)。
输出
第一行输出,答案除以1,000,000,000的余数。
输入案例
20 2
输出案例
21
#include <stdio.h>
#define M 1000000000
int n,K,d[202][202];
int main(){
int i,j,k;
scanf("%d %d",&n,&K);
d[0][0]=1;
for (i=1;i<=K;i++)
for (j=0;j<=n;j++)
for (k=0;k<=j;k++)
d[i][j]+=d[i-1][j-k],d[i][j]%=M;
printf("%d",d[K][n]);
return 0;
}