Cod sursa(job #2615942)

Utilizator MSergiu_01Sergiu Mihaila MSergiu_01 Data 15 mai 2020 21:13:20
Problema Factorial Scor 60
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.54 kb
#include <fstream>
#define nmax 1000000000
using namespace std;

ifstream fin("fact.in");
ofstream fout("fact.out");

int putere5(int n)
{
    int i, c = 0;
    for(i = 5; i <= n; i *= 5)
        c += n/i;
    return c;
}
int main()
{
    int p, st = 1, dr = 1000000000, m;
    fin >> p;
    while(st < dr)
    {
        m = (st + dr)/2;
        if(putere5(m) < p)
            st = m + 1;
        else
            dr = m - 1;
    }
    if(putere5(st) == p)
        fout << st;
    else
        fout << -1;

    return 0;
}