Pagini recente » Cod sursa (job #584967) | Diferente pentru utilizator/robybrasov intre reviziile 78 si 45 | Cod sursa (job #40564) | Statistici lupu flaviu (flaviu.flaviu112) | Cod sursa (job #1562343)
#include <stdio.h>
using namespace std;
FILE*f=fopen("fact.in","r");
FILE*g=fopen("fact.out","w");
int main()
{
int p,n,nr=0,z,m,dr,st;
fscanf(f,"%d",&p);
dr=p*5;
nr=0;
z=5;
st=0;
while (st<=dr)
{
m=(st+dr)/2;
if (m%5!=0) m=m-2;
nr=0;
z=5;
while (z<=m)
{
nr=nr+m/z;
z=z*5;
}
if (p==nr) break;
else if (p>nr) st=m+5;
else dr=m-5;
}
if (p==0) m=1;
if (p==nr) fprintf(g,"%d",m);
else fprintf(g,"-1");
fclose(g);
return 0;
}