Cod sursa(job #1822880)

Utilizator facelessIonut Balauca faceless Data 5 decembrie 2016 18:36:39
Problema Factorial Scor 15
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
unsigned long long r,l,p,m,u;
int n(int a)
{
    int i=5;
    int k=0;
    while(i<=a)
    {
        k=k+a/i;
        i=i*5;
    }
    return k;
}
int main()
{
    fin>>p;
    if(p==0)
    {
        fout<<1;
        return 0;
    }
    u=0;
    l=1;
    r=p*5;
    while(l<=p)
    {
        m=l+(r-l)/2;
        if(n(m)>=p)
            r=m-1;
         else
            l=m+1;
         if(n(m)==p)
            u=1;
    }
    if(u)
        fout<<l;
    else
        fout<<-1;
}