Cod sursa(job #2481669)

Utilizator Darius1414Dobre Darius Adrian Darius1414 Data 27 octombrie 2019 11:27:15
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <fstream>
#include <iostream>
using namespace std;
int a,b;
int zeroez(int k)
{
    int z=0;
    while (k!=0)
        {
           z=z+k/5;
           k=k/5;
    }
    return z;
}
int solve (int p)
{
    int st=0,dr=5*p,mid,solmid;
    while (st<=dr)
    {

        mid=(st+dr)/2;
        solmid=zeroez(mid);
        if (solmid<p) st= mid + 1;
        else if (solmid>p) dr= mid - 1;
        else if (solmid==p)
            return mid;
    }
    return -1;
}
int main()
{
    ifstream f ("fact.in");
    ofstream g ("fact.out");
    f>>a;
    if (a==0) g<<1;
    else {
        b=solve(a);
        if (b==-1) g<<-1;
        else g<<b-b%5;
}
}