Pagini recente » Cod sursa (job #848213) | Cod sursa (job #73455) | Cod sursa (job #1819832) | Cod sursa (job #1712337) | Cod sursa (job #1348627)
#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,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;
}
// if (p<0) n=-1;
ofstream g("fact.out");
g<<n;
g.close();
return 0;
}