Я пытался решить онлайн-головоломку, и мое решение было
def solution(area):
squares = []
while area > 0:
squares.append((int(area**(1/2))**2))
area = area - (int(area**(1/2))**2)
return squares
, но оно прошло только один из десяти тестов. Я нашел в Интернете решение, которое казалось похожим
def solution(area):
res = []
while (area > 0):
biggest_square_side = int(area ** 0.5)
biggest_square = biggest_square_side ** 2
area -= biggest_square
res.append(biggest_square)
return res
Я не могу понять, почему онлайн-решение прошло все тестовые случаи, а мое - только один. Когда я запустил их на своем локальном компьютере, я получил тот же результат. Код был запущен на Python 2.7. Спасибо!