Pagini recente » Cod sursa (job #2554806) | Cod sursa (job #3214771) | Cod sursa (job #2604894) | Cod sursa (job #1674882) | Cod sursa (job #2539556)
//#include <iostream>
#include <fstream>
using namespace std;
int d[105][105][105];
int main()
{
ifstream cin("diviz.in");
ofstream cout("diviz.out");
int k,n,a,b;
string s;
cin>>k>>a>>b;
cin.get();
cin>>s;
n=s.size();
d[0][(s[0]-'0')%k][1]=1;
for(int i=1;i<n;i++){
for(int j=0;j<=k;j++){
for(int x=0;x<=k;x++){
d[i][j][x]+=d[i-1][j][x];
}
}
for(int j=0;j<k;j++){
for(int x=1;x<=k;x++){
d[i][(j*10+s[i]-'0')%k][x]+=d[i-1][j][x-1];
}
}
d[i][(s[i]-'0')%k][1]++;
}
long long sum=0;
/**for(int i=0;i<n;i++){
for(int j=0;j<=k;j++){
cout<<i<<" "<<j<<"->";
for(int x=0;x<=k;x++){
cout<<d[i][j][x]<<" ";
}
cout<<"\n";
}
}
*/
for(int i=a;i<=b;i++){
sum+=d[n-1][0][i];
}
cout<<sum;
return 0;
}