Cod sursa(job #27490)

Utilizator dragomir_andreiDragomir Andrei dragomir_andrei Data 6 martie 2007 14:36:57
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.48 kb
#include<stdio.h>
long long int p,n,x[14],y[14],nb,pb,s;
int i;
int main()
{ FILE *f;
f=fopen("fact.in","r");
fscanf(f,"%lld",&p);
fclose(f);
pb=p;
x[0]=1;
for(i=1;i<=13;i++)
{x[i]=5*x[i-1];}
y[0]=0;
for(i=1;i<=13;i++)
{y[i]=5*y[i-1]+1;}
for(i=13;i>=1;i--)
{
n=n+(p/y[i])*x[i];
p=p%y[i];}
nb=n;s=0;
while(nb)
{s+=nb/5;nb/=5;}
f=fopen("fact.out","w");
if(pb==0) fprintf(f,"1");
else
{if(s==pb) fprintf(f,"%lld\n",n);
else fprintf(f,"-1\n");}
fclose(f);
return 0;
}