Pagini recente » Cod sursa (job #2950677) | Cod sursa (job #271232) | Cod sursa (job #3038848) | Cod sursa (job #819805) | Cod sursa (job #1754303)
#include <stdio.h>
#include <stdlib.h>
long long int cadran(int p,int x,int y){
if(p<2) return 0;
long long int rez=0;
int xn=x,yn=y;
if(x<=p/2){
if(y<=p/2){ //ss
yn=x;
xn=y;
}else{ //sj
yn=y-p/2;
rez=p/2*p/2;
}
}else{
if(y<=p/2){ //ds
xn=p/2-y+1;
yn=p-x+1;
rez=p/2*p/2*3;
}else{ // dj
xn=x-p/2;
yn=y-p/2;
rez=p/2*p;
}
}
return rez+cadran(p/2,xn,yn);
}
int main()
{
long long int rez;
int k,p=1,i,col,lin;
FILE *in;
in=fopen("fractal.in","r");
fscanf(in,"%d%d%d",&k,&col,&lin);
fclose(in);
for(i=0;i<k;i++){
p=p*2;
}
rez=cadran(p,col,lin);
FILE *out;
out=fopen("fractal.out","w");
fprintf(out,"%d",rez);
return 0;
}