Cod sursa(job #3221694)

Utilizator bogdan1479Luca Bogdan Alexandru bogdan1479 Data 7 aprilie 2024 20:13:11
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <bits/stdc++.h>

using namespace std;

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

int expp(int n, int p)
{
    int ex=0;
    while(n>=p)
    {
        n/=p;
        ex+=n;
    }
    return ex;
}

int main()
{
    int st=1, dr=2000000000, mij, nr=1,p;
    fin>>p;
    if(p==0)
    {
        nr=1;
    }
    else
    {
        while(st<=dr)
        {
            mij=(st+dr)/2;
            int x=expp(mij, 5);
            if(x>=p)
            {
                nr=mij;
                dr=mij-1;
            }
            else if(x<p)
            {
                st=mij+1;
            }
        }
    }
    if(expp(nr, 5)!=p)
        nr=-1;
    fout<<nr;
    return 0;
}