Cod sursa(job #282963)

Utilizator klamathixMihai Calancea klamathix Data 18 martie 2009 16:19:03
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.89 kb
#include<stdio.h>

#define MAXX 1000000000

long long int N,P,temp,i,j,k,left=1,right=MAXX,ok,sol=-1,mij;

long long int zero(long long int A)
{
     long long int product = 1,count = 0;
     
     for(int i = 1 ; i <= 16 ;i++) 
     {
      product *= 5;
      count += A/product;
     }
     
return count;
}
     

int main()
{
    FILE*in=fopen("fact.in","r");
    FILE*out=fopen("fact.out","w");
    fscanf(in,"%lld",&P);


    while(ok==0 && left <= right)
    {
              mij=left+(right-left)/2;
              if(zero(mij) == P ) {sol = mij;ok=1;}
               else if(zero(mij)<P)
                           left=mij+1;
                  else if(zero(mij)>P)
                           right=mij-1;
    }                           


while(zero(sol)==P)
sol--;



if(sol == -1) sol--;

if(P==0) sol=0;

fprintf(out,"%lld\n",sol+1);

return 0;
}