Cod sursa(job #715996)

Utilizator TrixerAdrian Dinu Trixer Data 18 martie 2012 00:44:51
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <fstream>
#include <iostream>

using namespace std;

long zerouri(long m)
{
    long c=5,z=0;
    while (m/c) {z+=m/c; c*=5;}
    return z;
}

int main()
{
int ok=0;
long p,z,m,a=1,b=1e9;
ifstream f;
ofstream g;

    f.open("fact.in");
    f>>p;
    f.close();

    g.open("fact.out");

    if (p==0) g<<1;
    else {
         while (a<b-1) {m=(a+b)/2;
                       z=zerouri(m);
                       if (z==p) {ok=1; break;}
                       else if (z<p) a=m;
                       else b=m;
                      }

         if (ok==1) g<<m-m%5;
         else g<<-1;
         }

    g.close();

return 0;
}