Cod sursa(job #1183369)

Utilizator ovidiuz98Zamfir Ovidiu ovidiuz98 Data 8 mai 2014 22:17:58
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.56 kb
#include <fstream>

using namespace std;
int nrzero(int mid)
{
    int nrz=0,nr5=5;
    while(nr5<=mid)
        {nrz+=mid/nr5;
        nr5*=5;}
    return nrz;
}
int main()
{
    int p,st=1,dr,mid,nrz;
    ifstream f("fact.in");
    ofstream g("fact.out");
    f>>p;
    dr=p*5;
    if(p==0) {g<<1;return 0;}
    while(st<=dr)
    {
        mid=(st+dr)/2;
        nrz=nrzero(mid);
        if(nrz>=p) dr=mid-1;
        else if(nrz<p) st=mid+1;
    }
    if(nrzero(st)==p) g<<st;
    else g<<-1;
    f.close();
    g.close();
    return 0;
}