## Problem:

Given three ints, a b c, return true if one of b or c is "close" (differing from a by at most 1), while the other is "far", differing from both other values by 2 or more. Note: Math.abs(num) computes the absolute value of a number.

closeFar(1, 2, 10) → true
closeFar(1, 2, 3) → false
closeFar(4, 1, 3) → true

## Solution:

public boolean closeFar(int a, int b, int c) {

if (Math.abs(a - b) <= 1 && Math.abs(a - c) >= 2 && Math.abs(b - c) >= 2){
return true;
} else if (Math.abs(a - c) <= 1 && Math.abs(a - b) >= 2 && Math.abs(b - c) >= 2){
return true;
}else{
return false;
}

}

1. public boolean closeFar(int a, int b, int c) {
return !close(b,c)&(close(a,b)^close(a,c));
}
public boolean close(int a, int b) {
return Math.abs(a-b)<=1;
}

2. return Math.abs(a-b)<=1 && Math.abs(a-c)>=2 && Math.abs(b-c)>=2 || Math.abs(a-c)<=1 && Math.abs(a-b)>=2 && Math.abs(b-c)>=2;

3. public boolean closeFar(int a, int b, int c) {
int x=0,y=0,z=0;
x=Math.abs(a-b);
y=Math.abs(b-c);
z=Math.abs(c-a);
if(a==b||b==c||c==a) return true;
if(x==y||y==z||x==z) return false;
return true;

}

4. public boolean closeFar(int a, int b, int c) {
int diffba = Math.abs(b-a); // equal to 1 or diff by +2
int diffca = Math.abs(a-c); //equal to 1 or diff by +2
int diffbc = Math.abs(b-c); //diff by +2

if (diffbc>=2) {
if (diffba == 1 && diffca>=2){return true;}
else if (diffca == 1 && diffba>=2){return true;}
else if (a==b){return true;}
}
return false;
}

5. public boolean closeFar(int a, int b, int c) {
int diffba = Math.abs(b-a); // equal to 1 or diff by +2
int diffca = Math.abs(a-c); //equal to 1 or diff by +2
int diffbc = Math.abs(b-c); //diff by +2

if (diffbc>=2) {
return (diffba == 1 && diffca>=2) ||(diffca == 1 && diffba>=2)||(a==b);
} return false;
}

6. public boolean closeFar(int a, int b, int c) {
int close1 = Math.abs(a - b);
int close2 = Math.abs(b - c);
int close3 = Math.abs(a - c);

if (close1 <= 1 && close2 >= 2 && close3 >= 2) {
return true;
} else if (close2 <= 1 && close1 >= 2 && close3 >= 2) {
return true;
} else if (close3 <= 1 && close1 >= 2 && close2 >= 2) {
return true;
} else {
return false;
}
}

7. if (close(a,b) && close(a,c) ){
return false;
}
else if (close(a,b) && far(b,c) ){
return true;
}
else if (close(a,c) && far(b,c) ){
return true;
}
return false;

}

private boolean close (int a, int b){
if (Math.abs(a-b)<=1){
return true;
}
return false;
}

private boolean far (int a, int b){
if (Math.abs(a-b)>=2){
return true;
}
return false;
}

8. What does the question want us to do? Really confusing

1. dont confuse .. its the easiest. if you want answer ,. i can tell you.

9. public boolean closeFar(int a, int b, int c) {
int distAB = Math.abs(a - b);
int distBC = Math.abs(b - c);
int distAC = Math.abs(a - c);

if ((distAB <= 1 && distBC <= 1) || (distAB <= 1 && distAC <= 1) || (distBC <= 1 && distAC <= 1)){
return false;
}
return true;
}

10. boom, boom, boom, boom, I want you in my room!

11. public boolean closeFar(int a, int b, int c) {
return !(Math.abs(a - b) >= 2 != Math.abs(b - c) >= 2 != Math.abs(c - a) >= 2);
}

12. def close_far(a, b, c):
return (abs(b - a) < 2) ^ (abs(c - a) < 2) and abs(b - c) > 1

13. public boolean closeFar(int a, int b, int c)
{
if (Math.abs(b-a) <= 1) return Math.abs(c-b) >= 2 && Math.abs(c-a) >=
2;
if (Math.abs(c-a) <= 1) return Math.abs(b-c) >= 2 && Math.abs(b-a) >= 2;
return false;
}

14. public boolean closeFar(int a, int b, int c) {
return Math.abs(a-b)>2 ||Math.abs(a-c)>2 || Math.abs(b-a) <1 || Math.abs(c-a) >2 || Math.abs(b - c) >2 ? true:false;
}

15. public boolean closeFar(int a, int b, int c) {
int diff1 = Math.abs(a-b);
int diff2 = Math.abs(a-c);
int diff3 = Math.abs(b-c);

while(diff3 > 1){
return (diff1<=1&&diff2!=1) || (diff1!=1&&diff2<=1);
}
return false;

}