Cod sursa(job #1525567)

Utilizator ducu34Albastroiu Radu Gabriel ducu34 Data 15 noiembrie 2015 11:29:25
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <fstream>

using namespace std;
ifstream fin("fact.in");
ofstream fout("fact.out");
long long v[15],r[15],k,p,i,j,NR;
int main()
{
    fin>>p;
    if(p==0)
    {
        fout<<1;
        return 0;
    }
    k=1;
    v[k]=1;
    r[k]=5;
    while(v[k]*5+1<=p)
    {
        k++;
        v[k]=v[k-1]*5+1;
        r[k]=r[k-1]*5;
    }
    i=k;
    while(p && i)
    {
        for(j=1;j<=4;j++)
        {
            if(v[i]<=p)
            {
                p=p-v[i];
                NR=NR+r[i];
            }
            else
                break;
        }
        i--;
    }
    if(p!=0)
    {
        fout<<-1;
        return 0;
    }
    fout<<NR;
    return 0;
}