思路:数位dp
AC代码
#include<iostream>
using namespace std;
int dp[15]={0};
int main()
{
int n,k;
int ans=0;
cin>>n>>k;
for(int i=0;i<10;i++)
{
if(i==k) dp[i]=1;
}
for(int i=10;i<=n;++i)
{
if(i%10==k) dp[i]=dp[i/10]+1;
else dp[i]=dp[i/10];
}
for(int i=0;i<=n;++i)
{
ans+=dp[i];
}
cout<<ans<<endl;
return 0;
}