Cod sursa(job #493113)

Utilizator funkydvdIancu David Traian funkydvd Data 17 octombrie 2010 10:53:21
Problema Patrate2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <fstream>
#define baza 10000000
using namespace std;
ifstream f1 ("patrate2.in");
ofstream f2 ("patrate2.out");
using namespace std;
int n,A[100000];
void mul(int A[], int B)
{
	int i, t = 0;
	for (i = 1; i <= A[0] || t; i++, t /= baza)
		A[i] = (t += A[i] * B) % baza;
	A[0] = i - 1;
}
int cif (int n)
{
    if (n==0) return 1;
    int nr=0;
    while (n) n/=10,nr++;
    return nr;
}
int main()
{
    int a;
    f1>>n;
    A[0]=1,A[1]=1;
    for (int i=1; i<=n*n; i++) mul (A,2);
    for (int i=2; i<=n; i++) mul (A,i);
    for (int i=A[0]; i>=1; i--)
    {
        int nr=cif(A[i]);
        if (i!=A[0])
            for (int j=1; j<=7-nr; j++) f2<<"0";
        f2<<A[i];
    }
    return 0;
}