Cod sursa(job #687433)

Utilizator CosminRusuCosmin Rusu CosminRusu Data 22 februarie 2012 13:54:59
Problema Factorial Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.73 kb
#include<fstream>
#include<iostream>
#include<math.h>

using namespace std;

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