Cod sursa(job #3243967)

Utilizator mateistefan11matei stefan mateistefan11 Data 22 septembrie 2024 16:41:51
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
int p;
int nrzero(int n)
{
    int i,cnt = 0;
    for(i = 5; i <= n; i *= 5)
        cnt += n / i;
    return cnt;
}
int cb()
{
    int st, dr, mijl,x;
    st = 1; dr =  5 * 10e7;
    while(st <= dr)
    {
        mijl = (st + dr) / 2;
        x = nrzero(mijl);
        if(x < p)
        {
            st = mijl + 1;
        }
        else if(x > p)
            dr = mijl - 1;
        else
            return mijl - (mijl % 5);
    }
    return -1;
}
int main()
{
    fin >> p;
    if(p == 0)
    {
        fout << 1;
        return 0;
    }
    fout << cb();
    return 0;
}