考查大数 正好拿来学习下JAVA JAVA好高端。。
import java.io.*;
import java.math.*;
import java.text.*;
import java.util.*;
public class Main
{ public static void main(String[] args)
{
Scanner cin = new Scanner (System.in);
BigInteger[][] dp;
int n,k,i,j,g;
dp = new BigInteger[200][12];
n = cin.nextInt();
k = cin.nextInt();
for(i = 0 ; i <=n ;i++)
for(j = 0 ; j < k ; j++)
dp[i][j] = BigInteger.valueOf(0);
for(i = 0; i < k ; i++)
{
dp[1][i] = BigInteger.valueOf(1);
}
for(i = 2 ; i <= n ; i++)
{
for(g = 0 ; g < k ; g++)
{
if(g!=0)
dp[i][g] = dp[i][g].add(dp[i-1][0]);
for(j = 1; j < k ; j++)
dp[i][g] = dp[i][g].add(dp[i-1][j]);
}
}
BigInteger ans;
ans = BigInteger.valueOf(0);
for(i = 1; i < k ; i++)
ans = ans.add(dp[n][i]);
System.out.println(ans);
} }