Check Perfect Square

Check whether a number is a perfect square (without using the square root function).

Logic BuildingIntermediate
Logic Building
# Take number
num = int(input("Enter a number: "))

# Check if perfect square
is_perfect_square = False
for i in range(1, num + 1):
    if i * i == num:
        is_perfect_square = True
        break
    if i * i > num:
        break

if is_perfect_square:
    print("Perfect square")
else:
    print("Not a perfect square")

Output

Enter a number: 16
Perfect square

Enter a number: 15
Not a perfect square

Check if any number squared equals the input.

Key Concepts:

  • Loop through numbers from 1 to num
  • Check if i * i == num
  • Stop early if i * i > num (optimization)