Cod sursa(job #2150596)

Utilizator Stefan_PiscuPiscu Stefan Constantin Stefan_Piscu Data 3 martie 2018 17:34:13
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <fstream>
using namespace std;

ifstream f("fact.in");
ofstream g("fact.out");

int r;


int main()
{
    f>>r;
    int q=500000000, p=1, m, ok=0;
    if(r==0) g<<1<<"\n";
    else
    {
        while(p<q)
        {
            m=p+(q-p)/2;
            int nr=0;
            int pr=5;
            while(pr<m) nr=nr+m/pr, pr*=5;
            if(nr==r) p=m, q=m;
            else if(nr<r) p=m+1;
            else q=m-1;
        }
        m=p+(q-p)/2;
        int nr=0;
        int pr=5;
        while(m/pr) nr=nr+m/pr, pr*=5;
        if(nr==r) ok=m;
        else if(nr<r) p=m+1;
        else q=m-1;
        if(ok<5) g<<-1<<"\n";
        else g<<ok-ok%5;
    }
    return 0;
}