Pagini recente » Cod sursa (job #2050161) | Cod sursa (job #1087229) | Cod sursa (job #272925) | Cod sursa (job #1267729) | Cod sursa (job #7033)
Cod sursa(job #7033)
#include <fstream.h>
#include <string.h>
#define input "diviz.in"
#define output "diviz.out"
#define dimmax 210
ifstream fin(input);
ofstream fout(output);
long k,a,b,sir[dimmax],n,rezultat,aux[dimmax*1000];
char linie[dimmax];
void back(long l,long nr,long poz);
int main()
{
long i,j;
fin>>k>>a>>b;
fin.get();
fin.get(linie,dimmax);
for(i=0;i<strlen(linie);++i)
{
n++;
sir[n]=linie[i]-'0';
}
for(i=1;i<=n-a+1;++i)
if(sir[i])
back(2,sir[i],i);
fout<<rezultat;
return 0;
}
void back(long l,long nr,long poz)
{
if(nr%k==0&&l>a)
{
int ind=1;
for(int j=1;j<=aux[0];j++)
if(aux[j]==nr)
{
ind=0;
break;
}
if(ind)
{
++rezultat;
aux[++aux[0]]=nr;
}
// fout<<nr<<"\n";
}
for(int i=poz+1;i<=n;i++)
if(l<=b)
back(l+1,nr*10+sir[i],i);
}