Pagini recente » Borderou de evaluare (job #1782861) | Borderou de evaluare (job #980702) | Cod sursa (job #440975) | Cod sursa (job #902283) | Cod sursa (job #831474)
Cod sursa(job #831474)
#include <iostream>
#include <fstream>
#include <math.h>
using namespace std;
ifstream f("fractal.in");
ofstream g("fractal.out");
double a,b,c,rez;
double fract(double k,double x, 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;
}