Pagini recente » Cod sursa (job #1529000) | Cod sursa (job #2126528) | Cod sursa (job #1454929) | Cod sursa (job #3155977) | Cod sursa (job #2787349)
#include <stdio.h>
#include <stdlib.h>
char v[5000];
int inmultire( int n, int a ) {
int t, i;
t = i = 0;
while ( i < n || t > 0 ) {
t = t + a * v[i];
v[i] = t % 10;
t /= 10;
i++;
}
if ( i > n )
n = i;
return n;
}
int main() {
FILE *fin, *fout;
fin = fopen( "patrate2.in", "r" );
fout = fopen( "patrate2.out", "w" );
int n, m, i;
fscanf( fin, "%d", &m );
n = 1;
v[0] = 1;
for( i = 2; i <= m; i++ ) {
n = inmultire( n, i);
}
for( i = m*m; i-10 >= 0; i-=10 )
n = inmultire( n, 1024 );
i = (m*m)%10;
n = inmultire( n, 1 << i );
for ( i = n-1; i >= 0; i-- )
fputc( '0' + v[i], fout );
fputc( '\n', fout );
fclose( fin );
fclose( fout );
return 0;
}