這道題就是求從1到10^9中個位數字之和爲s的數的個數。
#include <cstdio>
#include <cstring>
#include <algorithm>
using namespace std;
int dp[10][82];
void inti()
{
memset(dp,0,sizeof(dp));
dp[0][0]=1;
for(int i=1; i<=9; i++)
{
for(int j=0; j<=i*9; j++)
{
for(int k=0; k<=9; k++)
{
if(j-k>=0)
dp[i][j]+=dp[i-1][j-k];
}
}
}
}
int main()
{
inti();
int n;
scanf("%d",&n);
if(n==1)
{
printf("10\n");
return 0;
}
printf("%d\n",dp[9][n]);
return 0;
}