Cod sursa(job #2836130)

Utilizator denisa0230Zarioiu Denisa denisa0230 Data 19 ianuarie 2022 19:57:02
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <fstream>
using namespace std;

ifstream cin("fact.in");
ofstream cout("fact.out");
int p;
int nr_zerouri(int x)
{
    int ct=0,p=5;
    while(x/p!=0)
    {
        ct=ct+x/p;
        p*=5;
    }
    return ct;
}

int cautare(int st,int dr)
{
    int mij;
    if(st==dr)
    {
        return st;
    }
    else
    {
        mij=(st+dr)/2;
        if(nr_zerouri(mij)>p)
            return cautare(st,mij-1);
        else
        {
            if(nr_zerouri(mij)<p)
                return cautare(mij+1,dr);
            else
                return mij-(mij%5);
        }
    }
}

int main()
{
    int x;
    cin>>p;
    if(p==0)
    {
        cout<<1;
        return 0;
    }
    x=cautare(1,1e9);
    if(nr_zerouri(x)==p)
        cout<<x;
    else
        cout<<-1;
    return 0;
}