Cod sursa(job #1944238)

Utilizator marcudanfDaniel Marcu marcudanf Data 29 martie 2017 00:33:59
Problema Factorial Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <fstream>

using namespace std;

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

int p;

int check(int x){
    int p=5,s=0;
    while(x/p){
        s+=x/p;
        p*=5;
    }
    return p;
}

int caut(){
    int l=1,r=500000000,sol=-1,mid;
    while(l<=r){
        mid=(l+r)/2;
        int a=check(mid);
        if(a>p){
            r=mid-1;
        }else if(a<p){
            l=mid+1;
        }else{
            l=mid+1;
            sol=mid;
            return sol;
        }
    }
    return sol;
}

int main()
{
    fin>>p;
    if(p==0)
        fout<<1;
    else{
        int a=caut();
        if(a){
            fout<<a-a%5;
        }else{
            fout<<-1;
        }
    }
    return 0;
}