Pagini recente » Cod sursa (job #41721) | Cod sursa (job #509711) | Cod sursa (job #2431900) | Cod sursa (job #557300) | Cod sursa (job #1829208)
#include<stdio.h>
#include<stdlib.h>
int DoiLaNPatrat[3200] = {1, 1};
//------------------------------------------------------
void ScalarMultiply(int A[], int x){
int i, t = 0;
for (i = 1; i <=A[0] || t; i++, t /= 10000){
A[i] = (t += A[i] * x) % 10000;
}
A[0] = i - 1;
}
//------------------------------------------------------
int main(){
FILE *file1, *file2;
int N, i;
file1 = fopen("patrate2.in", "r");
file2 = fopen("patrate2.out", "w");
fscanf(file1, "%d", &N);
for(i=1; i<=N*N; i++){
ScalarMultiply(DoiLaNPatrat, 2);
}
for(i=2; i<=N; i++){
ScalarMultiply(DoiLaNPatrat, i);
}
for(i=DoiLaNPatrat[0]; i>0; i--){
if(i!=DoiLaNPatrat[0]){
if(!(DoiLaNPatrat[i]/10)){
fprintf(file2, "000");
}else if(!(DoiLaNPatrat[i]/100)){
fprintf(file2, "00");
}else if(!(DoiLaNPatrat[i]/1000)){
fprintf(file2, "0");
}
}
fprintf(file2, "%d", DoiLaNPatrat[i]);
}
return 0;
}