给出一个进制,以及它的位数,让你求他总共有多少种这个数
最后发现找规律,跟斐波那契差不多的规律,直接打表过了

1 #include <stdio.h>
2 #include <stdlib.h>
3 #include <string.h>
4 #include <iostream>
5 #include <algorithm>
6 #include <queue>
7 #include <stack>
8 #include <math.h>
9
10 using namespace std;
11
12 const int MAX = 20;
13 long long dp[MAX][MAX];
14 int main()
15 {
16 int n,k;
17 for(int i=2; i<=18; i++)
18 {
19 dp[i][1] = i-1;
20 dp[i][2] = (i-1)*i;
21 }
22 for(int i=2; i<=10; i++)
23 for(int k=3; k<=18; k++)
24 dp[i][k] = (i-1)*(dp[i][k-1] + dp[i][k-2]);
25 while( ~scanf("%d%d",&n,&k) )
26 {
27 printf("%lld\n",dp[k][n]);
28 }
29 return 0;
30 }