Cod sursa(job #116182)

Utilizator hurrycaneBogdan Gaza hurrycane Data 17 decembrie 2007 22:08:53
Problema Factorial Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.6 kb
#include<fstream>
#include<iostream>

using namespace std;

fstream f,g;

long int nr_zero(int val){
	int k=1,t=0,p=0;
	while(1){
		k=k*5;
		if(k>val) break;
		else{
			p = val / k;
			t += p;
		}
	}
	return t;
}

int main(){
	f.open("fact.in",ios::in);
	g.open("fact.out",ios::out);
	unsigned long int i=0;
	unsigned long int a;
	unsigned long int p,d = 4*100000000, m;
	f>>p;
	int este = 0;
	if(p == 0) return 1; 
	while(i<=d && !este){	
		m = (i+d)/2;
		a = nr_zero(m);
		if(p == a){
			este = 1;
		}else{
			if(p<a) { d = m-1; }
			else { i = m+1; }
		}
	}
	if(a != p) g<<-1;
	else	g<<5*(m/5);

	
	return 0;
}