Cod sursa(job #472375)

Utilizator robigiirimias robert robigi Data 24 iulie 2010 12:51:38
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.71 kb
// Factorial.cpp : Defines the entry point for the console application.
//

//#include "stdafx.h"
#include "stdio.h"

FILE *f=fopen("fact.in", "r");
FILE *g=fopen("fact.out", "w");


int n, p;


int nr5(int x)
{
	int nr=0;
	while (x!=0)
	{
		nr+=x/5;
		x/=5;
	}
	return nr;
}


void binary(int x)
{
	int lo=1, hi=1220703125;
	int mid=0;
	while (hi-lo>0)
	{
		mid=lo+(hi-lo)/2;
		if (nr5(mid)>=x) hi=mid-1;
		else lo=mid+1;
	}
	mid=lo+(hi-lo)/2;
	if (nr5(mid)==p)
		fprintf(g, "%d", mid);
	else
		if (nr5(mid+1)==p)
			fprintf(g, "%d", mid+1);
		else
			fprintf(g, "-1");
}



void program()
{
	fscanf(f, "%d", &p);
	binary(p);
}



int main()
{
	program();
	return 0;
}