Cod sursa(job #306987)

Utilizator GulosSerban Petrescu Gulos Data 22 aprilie 2009 17:38:42
Problema Factorial Scor 65
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.47 kb
#include<iostream>
#include<fstream>

using namespace std;

int main(){
int n,p,m;
	ifstream fin("fact.in");
	fin>>p;
	ofstream fout("fact.out");
	if (p==0)
		fout<<"1";
	else{
		if (p==1)
			fout<<"0";
		else{
			bool ver;
			ver=true;
			n=5;
			m=305175781;
			while ((m>5)&&(ver)){
				if ((p-1)%m==0)
					ver=false;
				p-=(p/m);
				m=(m-1)/5;
			}
			if (ver)
				fout<<p*5;
			else
				fout<<"-1";
		}
	}
	fout.close();
	return 0;
}