Cod sursa(job #1400166)
Utilizator | Data | 25 martie 2015 09:52:21 | |
---|---|---|---|
Problema | Patrate2 | Scor | 0 |
Compilator | cpp | Status | done |
Runda | Arhiva de probleme | Marime | 0.51 kb |
#include<cstdio>
long long int topow(long long int nr,int po)
{
if(po==1)
{
return nr;
}
if(po%2==1)
{
return topow(nr*nr,po/2)*nr;
}
return topow(nr*nr,po/2);
}
int main()
{
FILE *fin,*fout;
fin=fopen("patrate2.in","r");
fout=fopen("patrate2.out","w");
int n;
long long int fact=1,pow2;
fscanf(fin,"%d",&n);
pow2=topow(2,2*n);
for(int i=2;i<=n;i++)
{
fact*=i;
}
fprintf(fout,"%lld",pow2*fact);
}