Cod sursa(job #1584312)
Utilizator | Data | 29 ianuarie 2016 22:06:54 | |
---|---|---|---|
Problema | Factorial | Scor | 20 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.57 kb |
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
int r,l,md,p,s,x,b;
ifstream f("fact.in");
ofstream g("fact.out");
f>>p;
l=0;
x=1;
r=p*5;
md=0;
b=s=0;
while(r-l!=1 && s!=p)
{
md=l+(r-l)/2;
s=0;
x=md*5;
for(int i=5;i<=x;i+=5)
{
b=i;
while(b%5==0)
{
s++;
b/=5;
}
}
if(s<p) l=md;
else r=md;
}
if(s==p) g<<x;
else g<<"-1";
}