Pagini recente » Cod sursa (job #2088876) | Cod sursa (job #1176074) | Cod sursa (job #2740189) | Cod sursa (job #2211831) | Cod sursa (job #2489949)
#include <bits/stdc++.h>
using namespace std;
FILE *fin = fopen("fact.in", "r");
FILE *fout = fopen("fact.out", "w");
int P;
int test(int n);
int cautBin(int left, int right);
int main()
{
fscanf(fin,"%d", &P);
fprintf(fout,"%d", (P == 0) ? 1 : cautBin(1, 2e9));
return 0;
}
int test(int n)
{
int nrDe0 = 0, contor = 5;
do{
nrDe0 += n/contor;
contor *= 5;
}while(contor <= n);
return nrDe0;
}
int cautBin(int left, int right)
{
int middle = (left+right)/2;
if(left > right)
return -1;
int temp = test(middle);
if(temp < P)
return cautBin(middle+1, right);
if(temp > P)
return cautBin(left, middle-1);
return (middle/5)*5;
}