Cod sursa(job #2406429)

Utilizator bogdan2604Bogdan Dumitrescu bogdan2604 Data 15 aprilie 2019 19:01:35
Problema Factorial Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <fstream>
#include <unordered_map>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
int n,nrmax,i,d,k;
unordered_map <int,int> ciur;
int main()
{
    f >> n;
    if(n == 0)
    {
        g << 1;
        return 0;
    }
    nrmax = n * 5;
    for(i = 5; i <= nrmax; i *= 5)
    {
        ++ k;
        d = 1;
        while(d * i <= nrmax)
        {
            ciur[d * i] = k;
            ++ d;
        }
    }
    for(i = 5; i <= nrmax; i += 5)
    {
        ciur[i] += ciur[i - 5];
        if(ciur[i] == n)
        {
            g << i;
            return 0;
        }
        if(ciur[i] > n)
            break;
    }
    g << -1;
}