Pagini recente » Cod sursa (job #333629) | Cod sursa (job #2869447) | Cod sursa (job #2166598) | Cod sursa (job #2709181) | Cod sursa (job #2186789)
#include <cstdio>
using namespace std;
int cati_zero_are(int x)
{
int nr=0,imp=5;
while(x>=imp)
{
nr+=x/imp;
imp*=5;
}
return nr;
}
int main()
{
int p;
FILE *f=fopen("factorial.in","r"),*g=fopen("factorial.out","w");
fscanf(f,"%i",&p);
int left=1,right=5*p,middle,nr,anti_sigsegv;
while(left<=right)
{
middle=left+(right-left)/2;
anti_sigsegv=cati_zero_are(middle);
if(anti_sigsegv==p)
nr=middle;
if(anti_sigsegv>=p)
right=middle-1;
else
left=middle+1;
}
fprintf(g,"%i",nr);
return 0;
}