Cod sursa(job #1539411)

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