Cod sursa(job #1856114)

Utilizator Adia_IoanaRomanescu Adia Ioana Adia_Ioana Data 24 ianuarie 2017 15:39:10
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <fstream>

using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
long long p,n;
int nr(long long q)
{
    long long s=0,p=5;
    while(p<=q)
    {
        s+=(q/p);
        p*=5;
    }
    return s;
}
long long cauta(long long st,long long dr)
{
    long long mj,nr0;
    if(st<=dr)
    {
        mj=(st+dr)/2;
        nr0=nr(mj);
        if(nr0<p) return cauta(mj+1,dr);
        if(nr0>p) return cauta(st,mj-1);
        return mj-(mj%5);
    }
    return -1;
}
int main()
{
    fin>>p;
    if(p==0)
        fout<<1;
    else{
    n=cauta(1,1000000000);
    fout<<n;
    }
    return 0;
}