Mai intai trebuie sa te autentifici.
Cod sursa(job #687440)
| Utilizator | Data | 22 februarie 2012 14:01:29 | |
|---|---|---|---|
| Problema | Factorial | Scor | 90 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.74 kb |
#include<fstream>
#include<iostream>
#include<math.h>
using namespace std;
unsigned long divizori(unsigned long long &x)
{ unsigned long long putere=0, cinci=0;
while(cinci*5+1<=x)
{ cinci=cinci*5+1;
putere++;
}
x=x-cinci;
return (unsigned long long)ceil(pow(5,putere));
}
int main()
{
unsigned long long p, n, aux;
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; }
ofstream g("fact.out");
//if(p<0) cout<<"-1";
//else
g<<n;
g.close();
return 0;
}
