Cod sursa(job #781204)

Utilizator marinMari n marin Data 23 august 2012 22:12:29
Problema Patrate2 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <fstream>
using namespace std;

int A[10000], R[10000];
int N, i;


int mul(int *A, int X) {
	int T = 0, aux;
	for (int i=1;i<=A[0];i++) {
		aux = A[i]*X + T;
		A[i] = aux%10;
		T = aux/10;
	}
	while (T) {
		A[++A[0]] = T%10;
		T/=10;
	}
}

int mul2(int *A) {
	int T = 0, aux;
	for (int i=1;i<=A[0];i++) {
		aux = (A[i]<<2) + T;
		A[i] = aux%10;
		T = aux/10;
	}

	while (T) {
		A[++A[0]] = T%10;
		T/=10;
	}
}

int main() {
	ifstream f("patrate2.in");
	ofstream g("patrate2.out");
	
	f>>N;
	R[0] = R[1] = 1;
	
	for (i=2;i<=N;i++) {
		mul(R,i);
	}
	for (i=1;i<=N;i++) {
		mul2(R);
	}
	for (i=R[0];i>=1;i--)
		g<<R[i];
	return 0;
}