Cod sursa(job #649353)

Utilizator beldeabogdanBogdan Beldea beldeabogdan Data 15 decembrie 2011 20:14:58
Problema Factorial Scor 25
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include <fstream>
using namespace std;
ifstream f("fact.in");
ofstream g("fact.out");
int n,i,p,m;
long long a;
int main() {
	f>>p;
	if (p<0) {
		g<<"-1";
		return 0;
	}
	if (p==0) {
		g<<"1";
		return 0;
	}
	if (p>3915) {
		g<<"-1";
		return 0;
	}
	a=1;
	n=2;
	while (p>0) {
		m=n-n/100000*100000;
		a=a*m;
		a=a-a/1000000*1000000;
		while (a%10==0) {
			p--;
			a=a/10;
			if (p==0&&a%10==0) {
				g<<"-1";
				return 0;
			}
		}
		n++;
		if (n%2!=0&&n%5!=0) n++;
	}
	if ((n-1)%2!=0&&(n-1)%5!=0) n-=2;
	else n--;
	g<<n<<'\n';
	return 0;
}