Cod sursa(job #687436)
| Utilizator | Data | 22 februarie 2012 13:57:43 | |
|---|---|---|---|
| Problema | Factorial | Scor | 5 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.7 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");
g<<n;
g.close();
return 0;
}
