Обратная операция вычисления объема фигуры

Я хочу реализовать функцию (или использовать уже реализованную) для решения следующей задачи:

Известен объем фигуры. Длина, ширина и высота неизвестны. Известно, что ширина и высота не могут превышать 2.4 метра. Длина не ограничена.

Необходимо подобрать любые длину, ширину, высоту фигуры, отвечающие требованиям задачи.

Буду благодарен за помощь!


Ответы (1 шт):

Автор решения: becouse

Вот пример кода

def get_dimensions(volume, max_height, max_width):
    # x*y*z=volume
    # x< max_height
    # y< max_width
    return [max_width, max_height, volume/(max_height*max_width)]

def get_dimensions_equal(volume, max_height, max_width):
    # x*y*z=volume
    # x< max_height
    # y< max_width
    # x~y~z
    d = volume**(1/3)
    x=d
    y=d
    if d>=max_width:
        y=max_width
    if d>=max_height:
        x=max_height

    z=volume/(x*y)

    return [x, y, z]


print(get_dimensions(30, 2.4, 2.4))

print(get_dimensions_equal(300, 2.4, 2.4))
→ Ссылка