Count Perfect Squares

Count perfect square numbers in array.

Logic BuildingIntermediate
Logic Building
# Helper function
def is_perfect_square(num):
    if num < 0:
        return False
    root = int(num ** 0.5)
    return root * root == num

# Take array
n = int(input("Enter array size: "))
arr = []
for i in range(n):
    arr.append(int(input(f"Element {i+1}: ")))

# Count perfect squares
count = 0
for element in arr:
    if is_perfect_square(element):
        count += 1

print(f"Perfect squares: {count}")

Output

Enter array size: 5
Element 1: 4
Element 2: 5
Element 3: 9
Element 4: 16
Element 5: 20
Perfect squares: 3

Check if number is perfect square.

Key Concepts:

  • Calculate square root
  • Check if root * root == num
  • Count matching elements