Pagini recente » Cod sursa (job #411954) | Cod sursa (job #2153545) | Cod sursa (job #644931) | Cod sursa (job #129604) | Cod sursa (job #1490998)
public class HelloWorld{
static int fractal(int k,int x, int y,int [] Cadrane)
{
//find out where the coords lie
if (k==0) return 0;
int size= ((int) Math.pow(2, k));
System.out.print("\nk= "+k+" 2^k="+size);
int xaxis=x>(size/2)?2:1;//>0?0:1;
int yaxis=y>(size/2)?2:1;//>0?0:1;
System.out.print(" " + x + "," + y + " are in: "+xaxis+","+yaxis);
int cadran=0;
if (xaxis==1) {
if (yaxis==1) {
cadran = 1;
}else cadran = 2;
}else{
if (yaxis==1){
cadran=4;
}else{
cadran=3;
}
}
System.out.print(" Cadran: "+cadran);
int sum=0;
for (int i=0;i<Cadrane.length;i++){
System.out.print(" Cadran curent:" +Cadrane[i]);
if (Cadrane[i]!=cadran)
sum=sum+(int)Math.pow(2,k*2-2);
else
break;
}
int[] newCadrane;
if (cadran==1){
newCadrane=new int[]{1,4,3,2};
}else if (cadran==2){
newCadrane=new int[]{1,2,3,4};
y=y-size/2;
}else if(cadran==3){
newCadrane=new int[]{1,2,3,4};
x=x-size/2;
y=y-size/2;
}else{
newCadrane=new int[]{3,2,1,4};
x=x-size/2;
}
System.out.print(" Adding:"+ sum);
return sum+fractal(k-1,x,y, newCadrane);
}
public static void main (String[] args){
System.out.println("Hello World!");
int k=3;
int x=2;
int y=3;
int [] Cadrane={1,2,3,4};
System.out.println("\nRezultat: "+fractal(k,x,y,Cadrane));
}
}