Cod sursa(job #1384846)

Utilizator danalexandruDan Alexandru danalexandru Data 11 martie 2015 14:40:13
Problema Factorial Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.55 kb
#include <fstream>

using namespace std;

ifstream in("fact.in");
ofstream out("fact.out");

const int k=16;
long long zero( long long n)
{
    long long nr=0;
    while(n>=5)
    {
        nr+=n/5;
        n/=5;
    }
    return nr;
}

int search(int p)
{
    int i=0;
    long long  pass=1<<k;
    while(pass!=0)
    {
        if( zero(i+pass)<=p)
            i+=pass;
        pass/=2;
    }
    if(zero(i)==p ) return i;
    return -1;
}
int main()
{
    int p;
    in>>p;
    long x= search(p);
    if(x == 0) out<<-1;
    else    out<<zero(p);
    return 0;
}