diff --git a/perfect_square_sum.py b/perfect_square_sum.py new file mode 100644 index 0000000000..4bef4a457c --- /dev/null +++ b/perfect_square_sum.py @@ -0,0 +1,25 @@ +def is_perfect_square(n: int) -> bool: + """ + Check if a number is a perfect square. + + :param n: The number to check. + :return: True if the number is a perfect square, False otherwise. + """ + sqrt = n ** 0.5 + return sqrt.is_integer() + + +def perfect_square_sum(numbers: set[int]) -> int: + """ + Calculate the sum of perfect squares that can be formed from the integers in the set. + + :param numbers: A set of positive integers. + :return: The sum of perfect squares that can be formed from the input set. + """ + perfect_squares_sum = 0 + + for num in numbers: + if is_perfect_square(num): + perfect_squares_sum += num + + return perfect_squares_sum \ No newline at end of file