Pagini recente » Profil tatiana_morro9000 | Cod sursa (job #1990964) | Cod sursa (job #302440) | Cod sursa (job #241333) | Cod sursa (job #7225)
Cod sursa(job #7225)
#include <stdio.h>
#include <string.h>
int d,a,b,res;
char nr[100], viz[100000];
void inputFunc(){
FILE*fi=fopen("diviz.in","r");
fscanf(fi,"%d %d %d %s", &d, &a, &b, nr);
fclose(fi);
}
void outputFunc(){
FILE*fi=fopen("diviz.out","w");
fprintf(fi,"%d",res);
fclose(fi);
}
int main(){
inputFunc();
int n=strlen(nr), sim=1<<n;
for(int i=0;i<n;i++)nr[i]-='0';
while(--sim){
int cn=0,cp=sim,kc=0,k=-1;
while(++k, cp){
if(cp&1)kc++,cn=cn*10 + nr[k];cp>>=1;
}
if(kc>=a && kc<=b){
if(cn%d == 0 && !viz[cn])
res++;viz[cn]=1;
}
}
outputFunc();
return 0;
}