Cod sursa(job #687439)

Utilizator CosminRusuCosmin Rusu CosminRusu Data 22 februarie 2012 14:00:51
Problema Factorial Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include<fstream>
#include<iostream>
#include<math.h>

using namespace std;

unsigned long divizori(unsigned long long &x)
{        unsigned long long putere=0, cinci=0;
         while(cinci*5+1<=x)
         {         cinci=cinci*5+1;
                   putere++;
                   }
         x=x-cinci;
         
         return (unsigned long long)ceil(pow(5,putere));
}
int main()
{
    unsigned long long p, n, aux;
    ifstream f("fact.in");
    f>>p;
    f.close();
    
    n=0;   
    unsigned long long adun;
    
    if(p==0) n=1;
    else while(p>0)
         { adun=divizori(p);
           n=n+adun; }
    ofstream g("fact.out");
    if(p<0) cout<<"-1";
    else
    g<<n;
    g.close();
    return 0; 
}