Pagini recente » Cod sursa (job #2558493) | Cod sursa (job #887254) | Cod sursa (job #1960226) | Cod sursa (job #2333783) | Cod sursa (job #1199904)
#include <math.h>
#include <iostream.h>
#include <fstream.h>
int fractal(int k,int x,int y)
{
if(x==1 && y==1) return 0;
else if(x==1 && y==2) return 1;
else if(x==2 && y==1) return 2;
else if(x==2 && y==2) return 3;
else
{
int putere=pow(2,k);
if(x<=putere/2 && y<=putere/2)
return putere/2*putere/2-fractal(k-1,putere/2-y+1,x);
else if(x<=putere/2 && y>putere/2)
return putere/2*putere/2-1+fractal(k-1,x,y-putere/2);
else if(x>putere/2 && y>putere/2)
return putere*putere/2-1 +fractal(k-1,x-putere/2,y-putere/2);
else return 3*putere/2*putere/2-1 -fractal(k-1,y,putere-x+1) + putere/2*putere/2;
}
}
int main()
{
ifstream f("fractal.in");
ofstream g("fractal.out");
int k,x,y;
f>>k>>x>>y;
int result=fractal(k,x,y);
g<<result;
f.close();
g.close();
return 0;
}