Pagini recente » Cod sursa (job #217820) | Cod sursa (job #1101917) | Cod sursa (job #1354077) | Cod sursa (job #393892) | Cod sursa (job #651472)
Cod sursa(job #651472)
#include<stdio.h>
#include<math.h>
long int suma=0;
void rec(int k,int x,int y){
if (k>0){
int l=(1<<(k-1));
if (x<=l && y<=l) { rec(k-1,y,x); }else
if (x<=l && y>l) { suma+=l*l; rec(k-1,x,y-l); }else
if (x>l && y>l) { suma+=2*l*l; rec(k-1,x-l,y-l); }else
if (x>l && y<=l) { suma+=3*l*l; rec(k-1,l-y+1,2*l-x+1); }
}
}
int main(){
FILE *fi,*fo;
int k,x,y;
fi=fopen("fractal.in","r"); fo=fopen("fractal.out","w");
fscanf(fi,"%i%i%i",&k,&x,&y);
rec(k,x,y);
fprintf(fo,"%li",suma);
fclose(fi); fclose(fo); return 0;
}