Cod sursa(job #139722)

Utilizator ali_92Alina Moldovan ali_92 Data 20 februarie 2008 15:48:44
Problema Factorial Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <fstream>
#include <iostream>
#include <math.h>
/*rez de 90 puncte
nu  merge pt cazurile in care nu exista n
unde trebuie sa afisam -1  */
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=putere+1;}

     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");
 g<<n;
g.close();
      return 0;
}