Cod sursa(job #1453590)

Utilizator Salomia_Adrian_325CCSalomia Adrian Salomia_Adrian_325CC Data 23 iunie 2015 22:04:36
Problema Factorial Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.61 kb
#include <stdio.h>
#include <stdlib.h>

long nr_zerouri_sfarsit(long x) {
	long nr = 0;
	while(x >= 5) {
		nr += x/5;
		x /= 5;
	}
	return nr;
}

long cautare_binara(long a, long b, long p){
	long r = (a+b)/2;
	long nr_z = nr_zerouri_sfarsit(r);
	if(p > nr_z)
		return cautare_binara(r+1, b, p);
	if(p < nr_z)
		return cautare_binara(a, r-1, p);
	//r -= r%5; 
	return r;
}

int main() {
	FILE *f1 = fopen("fact.in", "r");
	FILE *f2 = fopen("fact.out", "w");

	long p;
	fscanf(f1, "%ld", &p);

	long n;
	n = cautare_binara(0, 10000000, p);

	printf("%ld\n", n);
	fprintf(f2, "%ld\n", n);
	fclose(f1);
	fclose(f2);
	return 0;
}