Cod sursa(job #715142)

Utilizator lukkerLiNoimi Semain lukker Data 16 martie 2012 18:51:44
Problema Factorial Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.47 kb
#include <fstream>
using namespace std;

ifstream f("fact.in");
ofstream f2("fact.out");

int pw(long a,int b) {
	int i=0;
	while(a%b==0) {
		i++;
		a/=b;
	}
	return i;
}

int main() {
	long k=0,p=0,n;
	f>>n;
	if(n==0) {
		p=n;
		k=1;
	} else {
		k=5*n;
		p=n;
		for(int i=25;i<=k;i*=5) {
			for(int j=1;j*i<=k;j++) {
				p--;
				p+=pw(j*i,5);
			}
		}
		while(p>n) {
			p-=pw(k,5);
			k-=5;
		}
	}
	if(p==n) f2<<k; else f2<<-1;
	return 0;
}