Cod sursa(job #2013378)

Utilizator VanaMarcVana Marc VanaMarc Data 21 august 2017 11:27:35
Problema Factorial Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <iostream>
#include <fstream>
using namespace std;
long long p,n,st,dr,mid;
int cont_5( long long val ){
    long long cont=0,p=5;
    while( val>=p ){
        cont=cont+val/p;
        p=p*5;
    }
    return cont;
}
int main()
{
    ifstream f("fact.in");
    ofstream g("fact.out");
    f>>p;
    if( p==0 ){
        g<<"-1"<<endl;
    }
    if( p!=0 ){
        st=1;
        dr=100+p*5;
        while( st<=dr ){
            mid=(st+dr)/2;
            if( cont_5(mid)>=p ){
                dr=mid-1;
            }
            else{
                st=mid+1;
            }
        }
        if( cont_5(st)==p ){
            g<<st<<endl;
        }
        else{
            g<<"-1"<<endl;
        }
    }
    return 0;
}