Pagini recente » Cod sursa (job #1865795) | Cod sursa (job #3169233) | Cod sursa (job #1930082) | Cod sursa (job #245777) | Cod sursa (job #465978)
Cod sursa(job #465978)
#include<stdio.h>
int n=1,fol[101],v[101], k, u[101], q, nr, j;
void perm(int poz){
int i, a=1;
if(poz==n+1){
//for(i=1;i<=n;i++){
// printf("%d",u[v[i]]);
//}
//printf("\n");
for(i=1; i<=n; i++){
for(j=1; j<i; j++){
a=a*10;
}
nr+=u[v[i]]*a;
//printf("%d", u[v[i]]);
}
if(nr%k==0){
q++;
}
a=1;
nr=0;
//printf("\n");
}
else{
for(i=1;i<=n;i++){
if(fol[i]==0){
v[poz]=i;
fol[i]=1;
perm(poz+1);
fol[i]=0;
}
}
}
}
int main(){
freopen("ratphu.in","r",stdin);
freopen("ratphu.out","w",stdout);
//scanf("%d",&n);
char c=0;
while(c!=' '){
scanf("%c", &c);
u[n]=c-'0';
n++;
}
n-=2;
scanf("%d ", &k);
//printf("%d\n", n);
perm(1);
printf("%d ", q);
return 0;
}
/*#include<stdio.h>
int n=1, k, v[20], q=0, nr, j;
void back(int poz){
int i, a=1;
if(poz==n+1){
for(i=1; i<=n; i++){
for(j=1; j<i; j++){
a=a*10;
}
nr+=v[i]*a;
printf("%d", v[i]);
}
if(nr%k==0){
q++;
}
a=1;
nr=0;
printf("\n");
}
else{
for(i=1; i<=n; i++){
v[poz]=i;
back(poz+1);
}
}
}
int main(){
freopen ("ratphu.in", "r", stdin);
freopen ("ratphu.out", "w", stdout);
char c=0;
while(c!=' '){
scanf("%c", &c);
v[n]=c-'0';
n++;
}
n-=2;
scanf("%d ", &k);
printf("%d\n", n);
back(1);
printf("%d ", q);
return 0;
}*/