Cod sursa(job #288068)

Utilizator pedobearBacauanu Vlad pedobear Data 25 martie 2009 15:25:51
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <stdio.h>

long long sum,dr,st,mid,p,n;

int calc (int x)
{
    sum=0;
    while (x>0){
          x=x/5;
          sum=sum+x;
          }
    return sum;
}

int main ()
{
    freopen ("fact.in","r",stdin);
    freopen ("fact.out","w",stdout);
    
    scanf ("%lld",&p);
    
    st=0; dr=5*p;
    while (st<=dr){
          mid=(st+dr)/2;
          if (calc(mid)>=p){
                            n = mid;
                            dr = mid - 1;
                            }
          else st = mid + 1;
          }
    
    if (p==0) printf ("1");      
    else if (calc(n)==p) printf ("%lld",n);
    else printf ("-1");
    
    return 0;
}