Pagini recente » Cod sursa (job #2466740) | Cod sursa (job #3000844) | Cod sursa (job #1133046) | Cod sursa (job #1957598) | Cod sursa (job #831485)
Cod sursa(job #831485)
#include <iostream>
#include <fstream>
#include <math.h>
using namespace std;
ifstream f("fractal.in");
ofstream g("fractal.out");
long double a,b,c,rez;
long double fract(long double k,long double x, long double y)
{
int cadr;
if (k==0)
return rez;
else
{
if (x<=pow(2,k-1) && y<=pow(2,k-1))
cadr=1;
else if (x>pow(2,k-1) && y<=pow(2,k-1))
cadr=2;
else if (x>pow(2,k-1) && y>pow(2,k-1))
cadr=3;
else if (x<=pow(2,k-1) && y>pow(2,k-1))
cadr=4;
if (cadr==1)
return fract(k-1,y,pow(2,k-1)-(pow(2,k-1)-x+1)+1);
if (cadr==2)
{
rez+=pow(4,k-1);
return fract(k-1,x-pow(2,k-1),y);
}
if (cadr==3)
{
rez+=2*pow(4,k-1);
return fract(k-1,x-pow(2,k-1),y-pow(2,k-1));
}
if (cadr==4)
{
rez+=3*pow(4,k-1);
return fract(k-1,pow(2,k-1)-(y-pow(2,k-1))+1,pow(2,k-1)-x+1);
}
}
}
int main ()
{
f>>a>>c>>b;
g<<fract(a,b,c);
return 0;
}