Pagini recente » Cod sursa (job #1302208) | Cod sursa (job #2141176) | Cod sursa (job #383896) | Istoria paginii utilizator/barbudragos | Cod sursa (job #997579)
Cod sursa(job #997579)
#include <iostream>
#include <fstream>
#define KMax 16
using namespace std;
inline int fractal (int k, int x, int y)
{
if (k == 0)
return 0;
int mij = (1<<(k-1)), sz = 1<<(2*k-2);
if (x<=mij) /// cadranele 1, 4
if (y<=mij) /// 1
return fractal (k-1, y, x);
else /// 4
return 3*sz + fractal (k-1, 2*mij-y+1, mij-x+1);
else /// cadranele 2, 3
if (y<=mij) /// 2
return sz + fractal(k-1, x-mij, y);
else ///3
return 2*sz + fractal (k-1, x-mij, y-mij);
}
int main()
{
int k, x, y;
ifstream f ("fractal.in");
f>>k>>x>>y;
f.close();
ofstream g ("fractal.out");
g<<fractal(k, y, x)<<"\n";
g.close();
return 0;
}