Cod sursa(job #133552)

Utilizator conttPop Mircea contt Data 8 februarie 2008 22:04:46
Problema Factorial Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 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 exista=1;
unsigned long adun;
if (p==0) n=1;
else
while (p>0)
 {adun=divizori(p);
 contor++;
 //cout<<endl<<"adun="<<adun;
  n=n+adun;
}        
  if (adun%5==0) exista=0;          
       

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