Pagini recente » Cod sursa (job #212909) | Cod sursa (job #1248739) | Cod sursa (job #411640) | Cod sursa (job #1785181) | Cod sursa (job #497314)
Cod sursa(job #497314)
#include <stdio.h>
FILE *f,*s;
int k,x,y,z;
void Rezolva(int k,int x, int y)
{
if(k==0) return;
int l=(1<<(k-1));
if(x<=l&&y<=l) Rezolva(k-1,x,y); // Cadran 1
if(x>l&&y<=l) { z+=l*l; Rezolva(k-1,x-l,y); } // Cadran 2
if(x>l&&y>l) { z+2*l*l; Rezolva(k-1,x-l,y-l); } //Cadran 3
if(x<=l&&y>l) { z+=3*l*l; Rezolva(k-1,2*l-y+1,l-x+1); } //Cadran 4
}
int main()
{
f=fopen("fractal.in","r");
s=fopen("fractal.out","w");
fscanf(f,"%d %d %d",&k,&x,&y);
Rezolva(k,x,y);
fprintf(s,"%d",z);
fclose(s);
return 0;
}