Cod sursa(job #2592700)

Utilizator GligarEsterabadeyan Hadi Gligar Data 2 aprilie 2020 09:17:54
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.6 kb
#include <fstream>

using namespace std;

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

int zero(int p){
    int a=0;
    for(int i=5;i<=p;i*=5){
        a+=p/i;
    }
    return a;
}

int main (){
    int p;
    fin>>p;
    if(p==0){
        fout<<1;
        return 0;
    }
    int p2=1;
    while(p2<=p){
        p2*=2;
    }
    p2/=2;
    int sol=0;
    for(int i=p2;i>0;i/=2){
        if(sol+i<=p&&zero((sol+i)*5)<=p){
            sol+=i;
        }
    }
    if(zero(sol*5)==p){
        fout<<sol*5<<"\n";
    }else{
        fout<<"-1\n";
    }
    return 0;
}