Рубрики
Без рубрики

FOOBAR: солнечный бомня

Солнечный вторичный день, который бы догадался? Устройствам внутренних дней принимают много власти. Командир … Помечено Foobar, Python, алгоритмы, Google.

Кто бы догадался? Устройствам внутренних дней принимают много власти. Commander Lambda хочет дополнить квантовую реакторную ядро Antimatter Lambchop с солнечными массивами, и вам было поручено настроить солнечные панели.

Из-за природы наружных панелей космической станции все его солнечные панели должны быть квадратами. К счастью, у вас есть одна очень большая и плоская область солнечного материала, пара индустриальных ножниц, и достаточно мегакорпная солнечная лента (TM), чтобы использовать любой избыточный материал панели на более квадратов. Например, если у вас была общая площадь 12 квадратных ярдов солнечного материала, вы сможете сделать одну площадь 3х3 квадратных панелей (с общей площадью 9). Это оставило бы 3 квадратных ярдов, поэтому вы можете превратить тех на три квадратных солнечных батареях 1×1.

Написать функциональное решение (область), которая принимает в качестве его ввода единую единицу измерения, представляющих общую область солнечных панелей, у вас есть (от 1 до 1000000 включено) и возвращает список областей крупнейших квадратов, которые вы могли бы сделать из тех Панели, начиная с крупнейших квадратов первой. Таким образом, следуя приведенным выше примеру, решение (12) вернется [9, 1, 1, 1].

Тестовые случаи: вход: 15324 Выход: [15129,169,25,1]

Вход: 12 Выход: [9,1,1,1]

Питон

from math import sqrt

def solution(area):
    res = []
    while area > 0:
        square = int(sqrt(area))**2
        area -= square
        res.append(square)
    return res

Оригинал: “https://dev.to/itepsilon/foobar-solar-doomsday-5268”