Pagini recente » Cod sursa (job #2674581) | Cod sursa (job #590742) | Cod sursa (job #2640665) | Cod sursa (job #2343828) | Cod sursa (job #3126060)
#include <stdio.h>
#include <stdlib.h>
int puteri[3333],nr[3],r[3333];
int main()
{
FILE *fin, *fout;
int put,l1,l2,n,i,carry,j,n2;
fin=fopen("patrate2.in", "r");
fscanf(fin, "%d", &n);
fclose(fin);
nr[0]=2;
puteri[0]=1;
l1=l2=1;
for(put=0, n2=n*n; put<n2; put++){
for(i=0; i<l1; i++){
for(j=0; j<l2; j++){
r[i+j]=puteri[j]*nr[i];
}
}
carry=0;
for(i=0; i<l1+l2; i++){
r[i]+=carry;
carry=r[i]/10;
puteri[i]=r[i]%10;
}
if(puteri[l1+l2-1]>0)
l2=l1+l2;
else
l2=l1+l2-1;
}
for(put=2; put<=n; put++){
nr[0]=put%10;
nr[1]=(put/10)%10;
nr[2]=put/100;
l1=1;
if(nr[1]>0)
l1=2;
if(nr[2]>0)
l1=3;
for(i=0; i<l1; i++){
for(j=0; j<l2; j++){
r[i+j]=puteri[j]*nr[i];
}
}
carry=0;
for(i=0; i<l1+l2; i++){
r[i]+=carry;
carry=r[i]/10;
puteri[i]=r[i]%10;
}
if(puteri[l1+l2-1]>0)
l2=l1+l2;
else
l2=l1+l2-1;
}
fout=fopen("patrate2.out", "w");
for(i=l2-1; i>=0; i--)
fprintf(fout, "%d", puteri[i]);
fclose(fout);
return 0;
}