Cod sursa(job #116117)

Utilizator hurrycaneBogdan Gaza hurrycane Data 17 decembrie 2007 20:35:14
Problema Factorial Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<fstream>
#include<iostream>

using namespace std;

fstream f,g;

long int desc(int val){
	int k = 0;
	while((val = val/5) != 0){
		k++;
		if(val%5 != 0) break;
		
	}
	return k;
}

long int nr_zero(int val){
	int i,t,k=0,p;
	for(i=1;i<=val/5;i++){
		t = i*5;
		k += desc(t);
	}
	return k;
}

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 = 10000000, m;
	f>>p;
	int este = 0;
	
	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; }
		}
	}
	g<<5*(m/5);
	return 0;
}