Pagini recente » Cod sursa (job #2132897) | Cod sursa (job #937509) | Cod sursa (job #826954) | Cod sursa (job #1980703) | Cod sursa (job #741257)
Cod sursa(job #741257)
#include <iostream>
#include <fstream>
#include <cstring>
using namespace std;
ifstream in("diviz.in");
ofstream out("diviz.out");
int n,k,x[222][222];
char s[1000];
int rest(int p,int cif)
{
int rez=(s[p]-48)%k;
for(int i=1;i<=cif;++i)
{
rez=(rez*10)%k;
}
return rez;
}
int main()
{
int a,b,i,j,ii,r,rez;
in>>k>>a>>b;
in.getline(s,222);
in.getline(s,222);
x[0][0]=1;
for(i=strlen(s)-1;i>=0;--i)
{
for(j=b;j>=0;--j)
{
r=rest(i,j);
for(ii=0;ii<k;++ii)
{
x[j+1][(ii+r)%k]=(x[j+1][(ii+r)%k]+x[j][ii])%30103;
}
}
}
rez=0;
for(i=a;i<=b;++i)
{
rez=(rez+x[i][0])%30103;
}
out<<rez;
return 0;
}