Cod sursa(job #2226970)

Utilizator Hacks_R_UsIonescu Ioan Dorian Hacks_R_Us Data 30 iulie 2018 20:54:08
Problema Factorial Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.59 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
int fact(int x) {
    int pow5=5,p=0;
    while(pow5<=x) {
        p+=x/pow5;
        pow5*=5;
    }
    return p;
}
int main()
{
    int p,st,poz,pow2=1,dr;
    f>>p;
    st=p;
    dr=p*5;
    while(pow2<dr-st)
        pow2<<=1;
    for(poz=st;pow2>=1;pow2>>=1) {
        if(poz+pow2<=dr&&fact(poz+pow2) < p)
            poz+=pow2;
    }
    if(fact(poz+1)==p)
        g<<poz+1;
    else
        g<<-1;
    g<<'\n';
    f.close();
    g.close();
    return 0;
}