Cod sursa(job #1082673)

Utilizator eddymangeoManoloiu Edmond eddymangeo Data 14 ianuarie 2014 21:04:53
Problema Factorial Scor 15
Compilator c Status done
Runda Arhiva de probleme Marime 0.54 kb
#include<stdio.h>
#include<stdlib.h>
long count(long num){
	long int i,k=0;
	for(i = 5; num/i > 0; i *= 5)
		k+=num/i;
	return k;
}
int main(){
	FILE *f,*g;
	f = fopen("fact.in","r");
	g = fopen("fact.out","w");
	long int P;
	long int rez = 0;
	fscanf(f,"%ld",&P);
	fclose(f);
	if(P==0)
		rez = 1;
	else{
		long int start = P;
		int ok = 0;
		while(!ok){
			if(count(start)==P){
				ok = 1;
				rez = start;
			}else
				if(count(start)>P){
					ok = 1;
					rez = -1;
				}else
					start += 5;
		}
	}
	fprintf(g,"%ld",rez);
	fclose(g);
	return 0;
}