Cod sursa(job #1268624)
| Utilizator | Data | 21 noiembrie 2014 09:49:39 | |
|---|---|---|---|
| Problema | Factorial | Scor | 85 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.51 kb |
#include <iostream>
#include<fstream>
using namespace std;
int p;
int f(int n)
{int k=0,j=5;
while(j<=n)
{k=k+n/j;
j=j*5;
}
return k;
}
int cb(int st, int dr)
{int m=(st+dr)/2;
int a;
if(f(m)<p)
return cb(m+1,dr);
else
if(f(m)>p)
return cb(st,m-1);
else
{while(m%5!=0)
m--;
return m;
}
}
int main()
{int a;
int n=1,x;
ifstream f("fact.in");
ofstream g("fact.out");
f>>p;
g<<cb(1,2000000000);
g<<endl;
return 0;
}
