Question: 
Write a python function to find the minimum number of squares whose sum is equal to a given number.


Model's Code:
def get_Min_Squares(n):
    if n <= 3:
        return n
    res = n  
    for x in range(1, int(n**0.5) + 1):
        res = min(res, 1 + get_Min_Squares(n - x * x))
    return res



Sample Correct Code:
def get_Min_Squares(n):
    if n <= 3:
        return n;
    res = n 
    for x in range(1,n + 1):
        temp = x * x;
        if temp > n:
            break
        else:
            res = min(res,1 + get_Min_Squares(n  - temp)) 
    return res;


Asserts:
assert get_Min_Squares(6) == 3
assert get_Min_Squares(2) == 2
assert get_Min_Squares(4) == 1


Tests:
Test 1 of 3: PASS
Test 2 of 3: PASS
Test 3 of 3: PASS

Test 325 of 974: 233/325 (71.6923076923077%): success