Cod sursa(job #1438508)

Utilizator StfnutssJianu Stefanut-Alexandru Stfnutss Data 20 mai 2015 01:22:47
Problema Factorial Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <iostream>
#include <fstream>
using namespace std;

int main(int argc, char** argv) {
	ifstream f("fact.in");
	ofstream g("fact.out");
	int p,i=11,j,cont = 0,fact,af =0;
	f>>p;
	int cinci[12];
	cinci[1] = 1;
	cinci[2] = 6;
	cinci[3] = 31;
	cinci[4] = 156;
	cinci[5] = 781;
	cinci[6] = 3906;
	cinci[7] = 19531;
	cinci[8] = 97656;
	cinci[9] = 488281;
	cinci[10] = 2441406;
	cinci[11] = 12207031;
	f>>p;
	if (p == 0)
		g<<"1";
	while (i > 1){
		fact = 1;
		for(j=i;j>0;j--){
		 		if((p/5) == cinci[j] && p%5 ==0){
		 			g<<"-1";
		 			af = 1;
				 }
			}
		if (af == 1) break;
		if(p >= cinci[i]){
		 	p = p - cinci[i];
		 	for(j=i;j>0;j--){
		 		fact = fact * 5;
			}
			cont = cont + fact;
			//cout<<p<<endl;
		}
		else i--;
	}
	if(af != 1) g<<cont;
	f.close();
	g.close();
	return 0;
}