Cod sursa(job #1477262)

Utilizator mike93Indricean Mihai mike93 Data 25 august 2015 19:49:48
Problema Factorial Scor 0
Compilator c Status done
Runda Arhiva de probleme Marime 0.65 kb
#include<stdio.h>

int put5[13];
int p;

int suma(int n) {
	int i;
	int val = 0;
	for(i=1; i<13; i++) {
		val = val + n/put5[i];
	}
	return val;
}

int cauta(int l, int h) {
	if((h - l) == 1) {
		return h;
	} else {
		int m = (l + h)/2;
		int s = suma(m);
		if(s < p) {
			return cauta(m, h);
		} else {
			return cauta(l,m);
		}
	}
}

int main() {
	FILE* fin = fopen("fact.in", "r");
	fscanf(fin, "%d\n", &p);
	fclose(fin);
	
	put[0] = 1;
	int i;
	for(i=1; i<13; i++) {
		put5[i] = put5[i-1] * 5;
	}
	
	int res = cauta(1,p*5);
	
	FILE* fout = fopen("fact.out", "w");
	fprintf(fout,"%d\n", res);
	fclose(fout);
	return 0;
}