Cod sursa(job #1244055)

Utilizator ConstantinPetroviciPetrovici Constantin ConstantinPetrovici Data 16 octombrie 2014 18:50:11
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>


using namespace std;
ifstream fin ( "fact.in" ) ;
ofstream fout ( "fact.out" ) ;

long long p;
long long check(long long x)
{
 long long s=0;
     for(long long i=5;i<=x;i=i*5)
     s=s+x/i;
        return s;
}

int main()
{
    fin>>p;

long long st=1,sol = -1 ;
long long dr=500000000;
while(st<=dr)
{
    long long mij=(st+dr)/2;
    long long k =check(mij);
    if(k>p)
     dr=mij-1;
     else if ( k < p ) st=mij+1;
     else if ( k == p ){
        sol = mij ;break;
     }



}
while(sol >= 0 and sol%5!=0)
        sol--;
    if ( sol == 0 )
        sol = 1 ;
    fout<<sol;
    return 0;
}