Cod sursa(job #1926710)

Utilizator MarcuMLMMischie Marcus Lionel MarcuMLM Data 14 martie 2017 17:04:44
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.5 kb
#include <bits/stdc++.h>

using namespace std;
typedef unsigned long long ull;
ull nrZero(ull x)
{
    ull s=0;
    for(ull i=5; x/i>=1; i*=5) s+=x/i;
    return s;
}
int main()
{
    ifstream f("fact.in");
    ofstream g("fact.out");
    ull m=0, n=0, st=0, dr=1ULL<<63;
    f>>n;
    if(n==0) {g<<1; return 0;}
    while(st<=dr){
        m=(st+dr)/2;
        if(nrZero(m)<n) st=m+1;
        else dr=m-1;
    }
    if(m%5) m++;
    if(nrZero(m)==n) g<<m;
    else g<<"-1";
    return 0;
}