Cod sursa(job #784601)

Utilizator stephanStefan stephan Data 6 septembrie 2012 14:34:17
Problema Factorial Scor 10
Compilator c Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <stdio.h>

int cifrez(int n)
{
int n_cif = 0;
while (n != 0)
{
if(n%10 == 0)
{
n_cif++;
}
else
{
n=0;
}
n = n/10;
}
return n_cif;
}

int factorial(int n)
{
int c;
int result = 1;
 
for (c = 1; c <= n; c++)
  {
    result = result * c;
  }
 
  return result;
}

int main()
{
FILE *i,*o;
int n=1,p,x=1;
i = fopen("fact.in","r");
o = fopen("fact.out","w");
fscanf(i,"%d",&p);
while(x)
{
if(cifrez(factorial(n))<p)
{
n++;
}
else if(cifrez(factorial(n))>p)
{
fprintf(o,"-1");
x=0;
}
else
{
fprintf(o,"%d",n);
x=0;
}
}
fclose(i);
fclose(o);
return 0;
}