Cod sursa(job #201380)

Utilizator AstronothingIulia Comsa Astronothing Data 31 iulie 2008 00:46:56
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <fstream>

using namespace std;

long zerouri(long n,int power)
{
    if(n/power==0) return 0;
    else return n/power+zerouri(n,power*5);
}


int main()
{
    fstream f("fact.in",ios::in);
    fstream f2("fact.out",ios::out);
    long p;
    long li,lf;
    while(f>>p)
    {
        if(p==0) f2<<"1\n";
        else{
        li=2;
        lf=2000000000;
        int found=0;
        while(!found&&li<=lf)
        {
            long mid=(li+lf)/2;
            long z=zerouri(mid,5);
            if(z==p)
            {
                found=1;
                f2<<mid/5*5<<"\n";
            }
            else if(z<p) li=mid+1;
            else lf=mid-1;

        }
        if(li>lf) f2<<"-1\n";
    }}
    //f2<<zerouri(,5);
    f2.close();
    f.close();
    return 0;
}