Pagini recente » Cod sursa (job #1913347) | Cod sursa (job #2376250) | Cod sursa (job #217130) | Cod sursa (job #2431378) | Cod sursa (job #1308184)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("fractal.in");
ofstream fout("fractal.out");
int arie (int x)
{
return x*x;
}
int fractal (int x,int y, int ordin)
{
if(ordin < 0)
return 0;
int lung=1 << ordin;
if(x<=lung and y<=lung)
return fractal(x, y, ordin-1);
else if(x>lung and y<=lung)
return arie ( lung ) + fractal( x - lung , y , ordin - 1 ) ;
else if ( x > lung and y > lung )
return 2 * arie ( lung ) + fractal( x - lung , y - lung , ordin - 1 ) ;
else
return 3 * arie ( lung ) + fractal( ( lung << 1 ) - y + 1 , lung - x + 1 , ordin - 1 ) ;
}
int main()
{
int ordin,x,y;
fin>>ordin>>x>>y;
fout<<fractal(x,y,ordin);
return 0;
}