Cod sursa(job #1539375)

Utilizator stefdascalescuStefan Dascalescu stefdascalescu Data 30 noiembrie 2015 18:43:38
Problema Factorial Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include<fstream>
#include<cmath>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
long long n,a,n1,i,s;
int v[15];
int main()
{
    f>>n;
    v[1]=1;
    for(i=2;i<=13;++i)
        v[i]=v[i-1]*5+1;
    if(n==0)
        g<<1<<'\n';
    else
    {
        int a=0;
        while(n>0)
        {
            int b=1;
            int e=13;
            while(b<e)
            {
                int m=(b+e)/2;
                if(v[m]<=n && v[m+1]>n)
                {
                    n=n-v[m];
                    s=s+pow(5,m);
                    break;
                }
                else
                    if(v[m+1]<n)
                        b=m+1;
                    else
                        e=m-1;
            }
        }
        if(n==0)
            g<<s<<" ";
        else
            g<<-1<<'\n';
    }
    return 0;
}