Cod sursa(job #1022828)

Utilizator BuseSorinFMI Buse Sorin-Marian BuseSorin Data 5 noiembrie 2013 23:29:36
Problema Factorial Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 kb
#include<iostream>
#include<fstream>
using namespace std;

int zerouri(int n){
	int cinci = 0;
	int c = 5;
	while (c <= n){
		cinci =cinci+n / c;
		c *= 5;
	}
	return cinci;
}

int cauta(int stanga, int dreapta, int n){
	while (stanga <= dreapta){
		int mij = (stanga + dreapta) / 2;
		int zero = zerouri(mij);
		if (zero==n && mij%5==0){
			return mij;
		}
		else{
			if (zero < n){
				stanga = mij + 1;
			}
			else{
				dreapta = mij - 1;
			}
		}
	}
	return -1;
}

int main(){
	ifstream f("fact.in");
	ofstream o("fact.out");
	int n = 0; f >> n;
	if (n == 0) o << 1;
	else{
		o << cauta(0, 5 * n, n);
	}
	return 0;
}