Cod sursa(job #1008951)

Utilizator alexsuciuAlex Suciu alexsuciu Data 12 octombrie 2013 12:13:30
Problema Factorial Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.54 kb
#include<iostream>
#include<fstream>
using namespace std;

long long fact (long long x)
{
    long long nr=0,p=5;
    while(x>p)
    {
        nr=nr+x/p;
        p*=5;
    }
    return nr;
}

int main()
{
    long long p,li=0,ls=10000000,m,cal;
    int ok=1;

    ifstream f("fact.in");
    ofstream g("fact.out");
    f>>p;

    while(li<ls && ok)
    {
        m=(li+ls)/2+1;
        cal=fact(m);
        if(cal==p) ok=0;
        else if(cal<p) li=m;
        else ls=m;
    }
    if (!ok) g<<m-m%5;
    else g<<-1;

}