Pagini recente » Cod sursa (job #2777718) | Cod sursa (job #132222) | Cod sursa (job #2482171) | Cod sursa (job #386519) | Cod sursa (job #1348653)
#include <fstream>
#include <iostream>
#include <math.h>
using namespace std;
unsigned long long divizori(unsigned long long &x)
{
unsigned long long putere=0,cinci=0;
while (cinci*5+1<=x){cinci=cinci*5+1; putere=putere+1;}
x=x-cinci;
return (unsigned long long)ceil(pow(5,putere));
}
int main()
{
unsigned long long p,n;
ifstream f("fact.in");
f>>p;
f.close();
n=0;
unsigned long 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;
}