Cod sursa(job #133549)

Utilizator conttPop Mircea contt Data 8 februarie 2008 22:00:13
Problema Factorial Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 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=putere+1;}

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

ofstream g("fact.out");
if (contor>1) g<<n;
else g<<-1;
g.close();
      return 0;
}