Cod sursa(job #2418555)

Utilizator HelloWorldBogdan Rizescu HelloWorld Data 5 mai 2019 14:34:59
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <fstream>
#include <cmath>
using namespace std;
ifstream in("fact.in");
ofstream out("fact.out");
const int N = 1e8;
int p,st=1,dr=N*5+5,mij;
int power(int x)
{
    int rez=1;
    for (int i=1; i<=x; ++i)
        rez*=5;
    return rez;
}
int count_zeros(int mij)
{
    int x,zerouri=0;
    x=log2(mij*1.0)/log2(5.0);
    for (int i=1; i<=x; ++i)
        zerouri+=mij/power(i);
    return zerouri;
}
int main()
{
    in>>p;
    while (st<dr)
    {
        mij=(st+dr)/2;
        if (count_zeros(mij)<p)
            st=mij+1;
        else
            dr=mij;
    }
    if (count_zeros(dr)==p)
        out<<dr<<"\n";
    else
        out<<"-1\n";
}