Nu aveti permisiuni pentru a descarca fisierul grader_test33.ok
Cod sursa(job #1326994)
| Utilizator | Data | 26 ianuarie 2015 11:55:54 | |
|---|---|---|---|
| Problema | Factorial | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.61 kb |
#include <fstream>
using namespace std;
int Factorial(long long n)
{
long long x, s;
x = n;
s = 0;
while(x)
{
x /= 5;
s += x;
}
return s;
}
int main()
{
long long p, st, dr, nr;
ifstream fin("fact.in");
fin >> p;
fin.close();
ofstream fout("fact.out");
st = 1;
dr = 100000000;
while(st <= dr)
{
nr = st + (dr - st) / 2;
if(Factorial(nr) < p) st = nr + 1;
else dr = nr - 1;
}
if(Factorial(dr + 1) != p) fout << -1;
else fout << dr - 1;
fout.close();
return 0;
}
