Завантажте застосунок
Виберіть папку й попросіть помічника прочитати потрібні файли перед редагуванням. Визначте мету та межі завдання.
Знайдіть мінімальну кількість скалярних множень для ланцюжка до 12 матриць. Перевірте одну матрицю й різні дужки, відхиляючи розміри поза 1–1000 без множення елементів матриць.
Виберіть папку й попросіть помічника прочитати потрібні файли перед редагуванням. Визначте мету та межі завдання.
Оберіть сумісний endpoint. Доступність інструментів і якість відповідей залежать від налаштованої моделі та сервера.
Переглядайте зміни й результати команд. Перед прийняттям результату виконайте перевірки проєкту; створений код не тестується автоматично.
Порівняйте фактичну поведінку з очікуваним результатом. Якщо перевірка не проходить, з’ясуйте причину перед наступними змінами.
def chain_cost(dimensions):
if type(dimensions) not in (list, tuple) or not 2 <= len(dimensions) <= 13:
raise ValueError("one through twelve matrices")
if any(type(d) is not int or not 1 <= d <= 1000 for d in dimensions):
raise ValueError("dimensions 1 through 1000")
n = len(dimensions)-1
cost = [[0]*n for _ in range(n)]
for width in range(2, n+1):
for left in range(n-width+1):
right = left+width-1
cost[left][right] = min(
cost[left][k]+cost[k+1][right]+
dimensions[left]*dimensions[k+1]*dimensions[right+1]
for k in range(left,right))
return cost[0][n-1]Перевірте перед застосуванням. Переглядайте зміни й результати команд. Перед прийняттям результату виконайте перевірки проєкту; створений код не тестується автоматично.