Cod sursa(job #1697318)

Utilizator andrew_assassin789Andrei Manea andrew_assassin789 Data 1 mai 2016 16:21:05
Problema Factorial Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <fstream>
#include <algorithm>
using namespace std;
unsigned int cate0(unsigned int n)
{
    if (!n) return 1;
    unsigned int n2=0,n5=0,i,x;
    for (i=2;i<=n;i+=2)
    {
        x=i;
        while (!(x%2))
            x/=2,n2++;
    }
    for (i=5;i<=n;i+=5)
    {
        x=i;
        while (!(x%5))
            x/=5,n5++;
    }
    return min(n2,n5);
}
int main()
{
    ifstream f("fact.in");
    ofstream g("fact.out");
    unsigned int i,x,p,n0=0;
    f>>p;
    if (p==0) g<<"1\n";
    else
    {
        for (i=5;n0<p;i+=5)
        {
            x=i;
            while (x%5==0&&n0<p)
                x/=5,n0++;
        }
        if (cate0(i-5)==p)g<<i-5<<'\n';
        else g<<"-1\n";
    }
    f.close();
    g.close();
    return 0;
}