Cod sursa(job #2000551)

Utilizator RaduhhRadu Flocea Raduhh Data 14 iulie 2017 01:50:02
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <bits/stdc++.h>

using namespace std;

int p,l,r,mid;

int zero(int n)
{
    int r=0;
    while (n)
    {
        r+=n/5;
        n/=5;
    }
    return r;
}

int main()
{
    ifstream cin("fact.in");
    ofstream cout("fact.out");
    cin>>p;
    if (!p) return cout<<1,0;
    l=1; r=0x3f3f3f3f;
    while (l<=r)
    {
        mid=(l+r)/2;
        int zr=zero(mid);
        if (zr==p)
        {
            while (zero(mid-1)==p) mid--;
            return cout<<mid,0;
        }
        else if (zr>p) r=mid-1; else l=mid+1;
    }
    cout<<-1;
}