An easy problem.There is no need to say much about it but the "mid".

Considering the big integer,we should get it in this way.

`int mid = start+(end - start)/2;`

instead of

`int mid = (start+end)/2;`

here is the solution:

```
public int guessNumber(int n) {
return guessNumberRecursive(1,n);
}
private int guessNumberRecursive(int start,int end) {
if(start >= end) {
return start;
}
int mid = start+(end - start)/2;
if (guess(mid) == 0) {
return mid;
}else if(guess(mid) > 0) {
return guessNumberRecursive(mid+1,end);
}else {
return guessNumberRecursive(start,mid);
}
}
```