Cod sursa(job #1477778)

Utilizator dragos99Homner Dragos dragos99 Data 26 august 2015 22:56:04
Problema Factorial Scor 75
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.86 kb
#include<fstream>
using namespace std;
long p,cif[1000],j,i,ma,ok;
long long n;
double power (double x, long n)
    {
        double p=1;
        while(n>0)
            {
                if(n%2==1)
                    {
                        p*=x;
                        n--;
                    }
                x*=x;
                n/=2;
            }
        return p;
    }
int main()
{
    ifstream f("fact.in");
    ofstream g("fact.out");
f>>p;
while(p>0)
    {
        cif[1]++;
        j=1;
        while(cif[j]==5)
            {
                cif[j]=0;
                j++;
                cif[j]++;
            }
        p-=j;
        if(j>ma) ma=j;
        ok=1;
    }
if(p==0 && ok==1)
    {for(i=ma;i>=1;i--)
        n=n+cif[i]*power(5,i);
    g<<n;}
if(p<0 && ok==1)
    g<<-1;
if(ok==0)
    g<<1;
return 0;
}