Cod sursa(job #337419)

Utilizator perticas_catalinperticas catalin perticas_catalin Data 3 august 2009 16:17:29
Problema Factorial Scor 85
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include<iostream>

using namespace std;

FILE*fin=fopen("fact.in","r");
FILE*fout=fopen("fact.out","w");

#define ll long long
#define min(a,b)((a)<(b)?(a):(b))

ll catez (ll nr,ll wd)
{
     ll nd=0,d=wd;    
     
     while(nr/d)
     {
       nd+=nr/d;
       
       d*=wd;
     } 
     
     return nd;
     
}

int main()
{
    
    ll p;
    
    fscanf(fin,"%lld",&p);
    
    
    ll st=0;
    ll dr=1000000000000000000LL;
    
    while(st<dr)
    {
      ll mij = (st+dr)/2;
      
      ll nrz =catez(mij,5);
      
      if(nrz<p) st=mij+1;
      else dr=mij;
    }
    
    fprintf(fout,"%lld",st);
    
    fclose(fin);
    fclose(fout);
    
    return 0;
}