Cod sursa(job #1745960)
| Utilizator | Data | 22 august 2016 16:13:20 | |
|---|---|---|---|
| Problema | Factorial | Scor | 5 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.69 kb |
#include <fstream>
#include <iostream>
using namespace std;
ifstream fin ("fact.in");
ofstream fout("fact.out");
int a,p,i,m,n,st,dr,mid,r,j;
int main () {
fin>>p;
if(p==0){
fout<<1;
return 0;
}
st=1;
dr=100000100;
while(st<=dr){
mid=(st+dr)/2;
m=0;
for(i=5;i<=mid;i+=5){
n=i;
while(n%5==0){
m++;
n=n/5;
}
}
if(m==p){
mid=mid-mid%5;
fout<<mid;
return 0;
}
else
if(m>p)
dr=mid-1;
else
st=mid+1;
}
fout<<-1;
}
