Cod sursa(job #2593035)

Utilizator BogdanRuleaBogdan Rulea BogdanRulea Data 2 aprilie 2020 19:25:09
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.58 kb
#include <fstream>

using namespace std;
ifstream cin("fact.in");
ofstream cout("fact.out");
int p;
int zero(int p)
{
    int a=0;
    for(int i=5;i<=p;i*=5)
    {
        a+=p/i;
    }
    return a;
}
int main()
{
    cin>>p;
    if(p==0){
        cout<<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)
            cout<<sol*5;
    else
        cout<<"-1";
            return 0;
}