Cod sursa(job #2324142)

Utilizator gabiluciuLuciu Gabriel gabiluciu Data 20 ianuarie 2019 12:19:55
Problema Factorial Scor 70
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <iostream>
#include <queue>
#include <stack>
#include <map>
#include <cstdio>
#include <cstring>
#include <set>
#include <algorithm>
#include <bitset>
#include <time.h>
#include <fstream>
#include <numeric>
#include <iomanip>
#include <cmath>
#include <unordered_map>

using namespace std;

template<class a>
void print(a v) {
    //for_each(all(v), [](auto x) { cout << x; });
}
int main() {
    ios_base::sync_with_stdio(false);
    freopen("fact.in","r",stdin);
    freopen("fact.out","w",stdout);
    clock_t tStart = clock();
    int p,n;
    cin >> p;
    n = 5*p;
    int p1 = p;
    for(int i=2;pow(5,i)<=n;++i){
        p1 += n/pow(5,i);
    }
    int p2,n1;
    while(p1>p){
        p2 = 0;
        n1 = n;
        while (n1%5 == 0) n1/=5,++p2;
        p1 -= p2;
        n -= 5;
    }
    if(p1 != p) cout << -1;
    else cout << n;
    //printf("\nTime taken: %.2fs\n", (double) (clock() - tStart) / CLOCKS_PER_SEC);
}