Cod sursa(job #1438509)

Utilizator StfnutssJianu Stefanut-Alexandru Stfnutss Data 20 mai 2015 01:41:51
Problema Factorial Scor 85
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.87 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";
	if (p != 0){
		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+p*5);
	}
	f.close();
	g.close();
	return 0;
}