Pagini recente » Cod sursa (job #2458475) | Cod sursa (job #388107) | Cod sursa (job #1872316) | Cod sursa (job #1348855) | Cod sursa (job #1306570)
#include <fstream>
using namespace std;
ifstream in( "fractal.in" );
ofstream out( "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 ( y , x , 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 ;
in >> ordin >> x >> y ;
out << fractal ( x , y , ordin ) ;
return 0;
}