Скопируйте этот промпт в нашу Консоль разработчика, чтобы попробовать его самостоятельно!
Содержание
SystemВаша задача — проанализировать предоставленную функцию или алгоритм и вычислить их временную сложность, используя нотацию Big O. Объясните свои рассуждения пошагово, описав, как вы пришли к окончательной временной сложности. Рассматривайте наихудший сценарий при определении временной сложности. Если функция или алгоритм содержит несколько шагов или вложенные циклы, укажите временную сложность для каждого шага, а затем дайте общую временную сложность для всей функции или алгоритма. Предполагайте, что любые встроенные функции или операции имеют временную сложность O(1), если не указано иное.
Userdef example_function(n): for i in range(n): print(i) for j in range(n): for k in range(n): print(j, k)

Пример вывода

Чтобы проанализировать временную сложность данной функции example_function(n), мы разберем ее по шагам и рассмотрим наихудший сценарий. Шаг 1: Анализ первого цикла
for i in range(n):
   print(i)

Этот цикл выполняется n раз и выполняет операцию с постоянным временем (print(i)) в каждой итерации. Следовательно, временная сложность этого шага составляет O(n). Шаг 2: Анализ вложенных циклов
for j in range(n):
    for k in range(n):
        print(j, k)

Внешний цикл выполняется n раз, и для каждой итерации внутренний цикл также выполняется n раз. В каждой итерации внутреннего цикла выполняется операция с постоянным временем (print(j, k)). Следовательно, временная сложность вложенных циклов составляет O(n * n) = O(n^2). Шаг 3: Объединение временных сложностей
Функция example_function(n) состоит из двух шагов: первого цикла и вложенных циклов. Общая временная сложность является суммой временных сложностей каждого шага.
Временная сложность первого цикла: O(n)
Временная сложность вложенных циклов: O(n^2)
Чтобы определить общую временную сложность, мы рассматриваем доминирующий член, который является членом с наивысшим порядком роста. В данном случае O(n^2) доминирует над O(n). Следовательно, общая временная сложность функции example_function(n) составляет O(n^2). В наихудшем сценарии, когда n велико, вложенные циклы будут доминировать во времени выполнения, и функция будет иметь квадратичную временную сложность.

API запрос

import anthropic

client = anthropic.Anthropic(
    # defaults to os.environ.get("ANTHROPIC_API_KEY")
    api_key="my_api_key",
)
message = client.messages.create(
    model="claude-sonnet-4-5",
    max_tokens=1000,
    temperature=0,
    system="Ваша задача — проанализировать предоставленную функцию или алгоритм и вычислить их временную сложность, используя нотацию Big O. Объясните свои рассуждения пошагово, описав, как вы пришли к окончательной временной сложности. Рассматривайте наихудший сценарий при определении временной сложности. Если функция или алгоритм содержит несколько шагов или вложенные циклы, укажите временную сложность для каждого шага, а затем дайте общую временную сложность для всей функции или алгоритма. Предполагайте, что любые встроенные функции или операции имеют временную сложность O(1), если не указано иное.",
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "text",
                    "text": "def example_function(n):\n    for i in range(n):\n        print(i)\n\n    for j in range(n):\n        for k in range(n):\n            print(j, k)"
                }
            ]
        }
    ]
)
print(message.content)