Cod sursa(job #643126)

Utilizator okros_alexandruOkros Alexandru okros_alexandru Data 2 decembrie 2011 23:32:48
Problema Factorial Scor 5
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.44 kb
#include<fstream>
using namespace std;
int main() {
	int p,n,q=1,l1=-1,l2=-1,sum1,sum2;
	ifstream in("fact.in");
	ofstream out("fact.out");
	in>>p;
	while(q<p) {
		l1++;
		q*=5;
		}
	q=1;
	sum1=l1*(l1-1)>>1;
	while(q<p-sum1) {
		l2++;
		q*=5;
		}
	if(q>p) q/=5;
	sum2=l2*(l2+1)>>1;
	// solutie
	if((0<=p-q-sum1&&p-q-sum1<l1)||p==5)
		n=-1;
	else
		n=5*(p-sum2);
	out<<n<<'\n';
	in.close();
	out.close();
	return 0;
}