Cod sursa(job #964816)

Utilizator miu_mik93FMI - Paduraru Miruna miu_mik93 Data 22 iunie 2013 13:34:57
Problema Factorial Scor 95
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <stdio.h>
#include <math.h>
#include <iostream>
#include <string>
using namespace std;
int p;
FILE *f;
FILE *g;
int nr;
int isnumber(int n)
{
	nr = 0;
	while (n / 5 != 0)
	{
		nr += n / 5;
		n = n / 5;
	}
	if ( nr == p )
		return 1;
	return 0;
}
int gasit;
void cauta( int li, int ls )
{
	int m = (li + ls) / 2;
	if ( isnumber(m) )
	{
		gasit = m;
		while (isnumber(gasit-1))
		{
			gasit--;
		}
		fprintf(g, "%d", gasit);
	}
	else
	{
		if (li < ls)
		{
			if (p < nr)
				cauta(li, m-1);
			else
				cauta(m+1, ls);
		}
		else
			fprintf(g, "%d", -1);
	}
}
int main()
{
	f = fopen("fact.in", "r");  g = fopen("fact.out", "w");
	fscanf(f, "%d", &p);
	fclose(f);
	cauta(1, 10000000000);
	fclose(g);
	return 0;
}