Cod sursa(job #797206)
Utilizator | FMI Ciprian Olariu scipianus | Data | 13 octombrie 2012 17:06:01 |
---|---|---|---|
Problema | Patrate2 | Scor | 70 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.52 kb |
#include<fstream>
using namespace std;
int n;
int sol[1000]; //sol=N!*(2^(N*N))
inline void Inmulteste(int A[],int B)
{
int i,t=0;
for(i=1;i<=A[0] || t;i++,t/=10)
A[i]=(t+=A[i]*B)%10;
A[0]=i-1;
}
int main()
{
ifstream fin("patrate2.in");
fin>>n;
fin.close();
int i;
sol[0]=sol[1]=1;
for(i=2;i<=n;i++)
Inmulteste(sol,i);
n=n*n;
for(i=1;i<=n;i++)
Inmulteste(sol,2);
ofstream fout("patrate2.out");
for(i=sol[0];i>0;i--)
fout<<sol[i];
fout<<"\n";
fout.close();
return 0;
}