Pagini recente » Cod sursa (job #1154383) | Cod sursa (job #2445343) | Cod sursa (job #225577) | Cod sursa (job #2246974) | Cod sursa (job #731567)
Cod sursa(job #731567)
// IA_fact
#include<cstdio>
#include<iostream>
#include<cmath>
using namespace std;
const int Nmax = 0x3f3f3f3f/2;
int P;
int nr_zerouri(int n)
{
int k = n/5,z = 1;
for( int i = 2 ; z != 0 ; i++)
{
z = (int)(n/pow((double)5,i));
k = k + z;
}
return k;
}
int CautBin(int x,int y)
{
int mid=(x+y)/2;
if(nr_zerouri(mid) == P)
return mid;
else
if(nr_zerouri(mid)>P)
return CautBin(x,mid-1);
else
return CautBin(mid+1,y);
}
int main()
{
int N,a,b,c;
FILE *in,*out;
in=fopen("fact.in","r");
out=fopen("fact.out","w");
fscanf(in,"%d",&P);
a=0;
b=Nmax;
N=CautBin(a,b);
N=N-N%5;
fprintf(out,"%d",N);
fclose(in);
fclose(out);
return 0;
}