# Calculating count of square numbers between two numbers

The problem is to find out the squares between two numbers, inclusive of the numbers. The two numbers are in the range between 1 and 109.

long numberOne = in.nextLong();
long numberTwo = in.nextLong();
int count=0;
for(long j=numberOne;j<=numberTwo;j++){
double numSquareRoot=Math.sqrt(j);
double numFloor=Math.floor(numSquareRoot);
if(numSquareRoot == numFloor) count++;
}


What changes can be made to work efficiently on large numbers?

# Can be done in $O(1)$ time
$\lfloor{\sqrt n}\rfloor -\lceil{\sqrt m}\rceil + 1$
return Math.floor(Math.sqrt(numberTwo)) - Math.ceil(Math.sqrt(numberOne)) + 1;