Cod sursa(job #1245353)

Utilizator FlorianFlorian Marcu Florian Data 18 octombrie 2014 23:47:26
Problema Factorial Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include<stdio.h>
#include<values.h>
int main()
{long long x=1,pr,n,p,i,j,m,nr;
	FILE *f=fopen("fact.in","r");
	FILE*g=fopen("fact.out","w");
	fscanf(f,"%lld",&p);
	if (p==0) fprintf(g,"1");
	else {
		i=0;
		j=MAXLONG;
		while (i<=j)
			    { m=(i+j)/2;
					    nr=0;  pr=5;
						    while(m/pr!=0) {nr+=m/pr; pr*=5;}
							    if (nr==p)
									           {while(m%5!=0)
												           {m--;}
														              fprintf(g,"%lld",m);
																	             x=0;
																				            break;}
																							    else if (nr<p) i=m+1;
																								    else j=m-1;}
																									if (x) fprintf(g,"-1"); }
																									fclose(f);
																									fclose(g);
																									return 0;}
	}