Cod sursa(job #715132)

Utilizator lukkerLiNoimi Semain lukker Data 16 martie 2012 18:34:30
Problema Factorial Scor 15
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.48 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) {
		i++;
		a/=b;
	}
	if(a%b==0) return i+1;
	else return 1;
}

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+=pw(j*i,5);
			}
		}
		while(p>n) {
			k-=5;
			p-=pw(k,5);
		}
	}
	if(p==n) f2<<k; else f2<<-1;
	return 0;
}