Pagini recente » Cod sursa (job #2746363) | Cod sursa (job #914235) | Cod sursa (job #516580) | Cod sursa (job #304613) | Cod sursa (job #1025456)
#include <cstdio>
#define MAX_C 1000000
int ans[MAX_C];
void write( FILE *fout ) {
for ( int i = ans[0]; i > 0; --i )
fprintf( fout, "%d", ans[i] );
}
void multiply( int A[], int x ) {
int i = 1, t = 0;
while ( i <= A[0] || t ) {
A[i] = ( t += A[i] * x ) % 10;
t /= 10;
++i;
}
A[0] = i - 1;
}
void solve( int n ) {
ans[0] = ans[1] = 1;
for ( int i = 2; i <= n; ++i )
multiply( ans, i );
if ( n == 1 )
multiply( ans, 2 );
else
for ( int i = 1; i <= n; ++i )
multiply( ans, 4 );
}
int main() {
FILE *fin, *fout;
fin = fopen( "patrate2.in", "r" );
int n;
fscanf( fin, "%d", &n );
fclose( fin );
solve( n );
fout = fopen( "patrate2.out", "w" );
write( fout );
fclose( fout );
}