Cod sursa(job #731567)

Utilizator Marius_mFMI-M2 Marius Melemciuc Marius_m Data 8 aprilie 2012 14:25:18
Problema Factorial Scor 85
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
                                    // 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;
}