Pagini recente » Cod sursa (job #2441833) | Cod sursa (job #1649970) | Cod sursa (job #2722627) | Cod sursa (job #2284965) | Cod sursa (job #25061)
Cod sursa(job #25061)
/*
ID: rbrezul2
LANG: C++
PROG: crypt1
*/
#include<stdio.h>
#include<math.h>
long i, j, n, a[11], n1, n2, nc, ok, cifun2, cifzn2, np1, np2, rez, nc1, nc2, ncrez, k;
FILE *fin, *fout;
int verifica(long x)
{
nc = log10(x) + 1;
long cifr;
for(i = 1; i <= nc; i++)
{
ok = 1;
cifr = x % 10;
for(j = 1; j <= n; j++)
if(cifr == a[j])
ok = 0;
x /= 10;
if(ok == 1)
return 1;
}
return 0;
}
int main()
{
fin = fopen("crypt1.in", "rt");
fout = fopen("crypt1.out", "wt");
fscanf(fin, "%ld", &n);
for(i = 1; i <= n; i++)
fscanf(fin, "%ld", &a[i]);
for(n1 = 111; n1 <= 999; n1++)
{
for(n2 = 11; n2 <= 99; n2++)
{
if(verifica(n2) == 0 && verifica(n1) == 0)
{
cifun2 = n2 % 10;
cifzn2 = n2 / 10;
np1 = cifun2 * n1;
np2 = cifzn2 * n1;
rez = n1 * n2;
nc1 = log10(np1) + 1;
nc2 = log10(np2) + 1;
ncrez = log10(rez) + 1;
if(verifica(np1) == 0 && verifica(np2) == 0 && nc1 == 3 && nc2 == 3 && verifica(rez) == 0 && ncrez == 4)
{
k++;
/* printf(" %ld*\n", n1);
printf(" %ld\n", n2);
printf("----\n");
printf(" %ld\n", np1);
printf("%ld\n", np2);
printf("----\n");
printf("%ld\n", rez);*/
}
}
}
}
fprintf(fout, "%ld\n", k);
return 0;
}