Pagini recente » Cod sursa (job #2775589) | Cod sursa (job #1245272) | Cod sursa (job #1355971) | Cod sursa (job #2682246) | Cod sursa (job #712137)
Cod sursa(job #712137)
#include <stdio.h>
#include <math.h>
long n,m,p,s;
FILE *f,*g;
long cauta(long x,long y,long k)
{
char cadran;
long r;
k/=2;
if((x<=k)&&(y<=k)){cadran=1;}
if((x>k)&&(y<=k)){cadran=2;}
if((x>k)&&(y>k)){cadran=3;}
if((x<=k)&&(y>k)){cadran=4;}
if(k-1){
if(cadran==1){r=k*k-cauta(y,k-x+1,k)+1;}
if(cadran==2){r=2*k*k-cauta(x-k,y,k)+1;}
if(cadran==3){r=3*k*k-cauta(x-k,y-k,k)+1;}
if(cadran==4){r=4*k*k-cauta(2*k-y+1,x,k)+1;}
}
else{r=cadran;}
return r;
}
int main()
{
f=fopen("fractal.in","r");
g=fopen("fractal.out","w");
fscanf(f,"%ld%ld%ld",&p,&m,&n);
s=pow(2,p);
p=cauta(n,m,s);
fprintf(g,"%ld",p-1);
fclose(f);fclose(g);
return 0;
}