Hackerrank - Sherlock and Squares Solution
1 min read

Hackerrank - Sherlock and Squares Solution

Hackerrank - Sherlock and Squares Solution

Watson likes to challenge Sherlock's math ability. He will provide a starting and ending value describing a range of integers. Sherlock must determine the number of square integers within that range, inclusive of the endpoints.

Note: A square integer is an integer which is the square of an integer, e.g. .

For example, the range is  and , inclusive. There are three square integers in the range:  and .

Function Description

Complete the squares function in the editor below. It should return an integer representing the number of square integers in the inclusive range from  to .

squares has the following parameter(s):

  • a: an integer, the lower range boundary
  • b: an integer, the uppere range boundary

Input Format

The first line contains , the number of test cases.
Each of the next  lines contains two space-separated integers denoting  and , the starting and ending integers in the ranges.


Output Format

For each test case, print the number of square integers in the range on a new line.

Sample Input

3 9
17 24

Sample Output



Test Case #00: In range ,  and  are the two square integers.
Test Case #01: In range , there are no square integers.

Solution in Python

from math import sqrt

def squares(a, b):
    c = int(sqrt(b))-int(sqrt(a))
    return c+1 if int(sqrt(a))**2==a else c

for _ in range(int(input())):
    a,b = map(int,input().split())
    print(squares(a, b))

Enjoying these posts? Subscribe for more

Adblocker detected! Please consider reading this notice.

We've detected that you are using AdBlock Plus or some other adblocking software which is preventing the page from fully loading.

That's okay. But without advertising-income, we can't keep making this site awesome.

We don't have any banner, Flash, animation, obnoxious sound, or popup ad. We do not implement these annoying types of ads!

We need money to operate the site, and almost all of it comes from our online advertising.

Please add thepoorcoder.com to your ad blocking whitelist or disable your adblocking software.