Cod sursa(job #2913488)

Utilizator mariusgMarius Gaibu mariusg Data 14 iulie 2022 19:17:36
Problema Factorial Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.51 kb
#include <bits/stdc++.h>
#include <fstream>

using namespace std;
#define ll long long int
inline ll v(ll k)
{
    int z=0;
    for (int i=5; i<=k; i*=5) z+=floor(k/i);
    return z;
}

int main()
{
    ifstream fin("fact.in");
    ofstream fout("fact.out");
    
    ll P;
    fin >> P; 
    
    map<ll, int> mp;
    ll a=5*P; 
    
    while(v(a)!=P && mp[a]==0)
    {
        mp[a]=1;
        if (v(a)>P) a-=5*(v(a)-P); else a+=5*(P-v(a));
    } 
    if (v(a)!=P) a=-1;
    if (P==0) fout << "1"; else fout << a;
}