moismo

Решение задач по информатике с помощью ИИ по фото

Нейросеть решает задачи по информатике онлайн: загрузите фото условия или напишите текстом — получите решение по шагам, таблицу истинности или трассировки, программу на Python с комментариями и проверкой на примере из условия. Системы счисления, логика, алгоритмы, графы, ОГЭ и ЕГЭ, вузовские курсы. 3 задачи бесплатно без регистрации.

Решить задачу →3 задачи бесплатно · без регистрации

Какие задачи по информатике решает нейросеть

Системы счисления: перевод, арифметика, подсчёт цифр
Пример: Переведите 2020 из десятичной системы в двоичную и посчитайте, сколько единиц в записи.
Алгебра логики: таблицы истинности, упрощение, задание 2 ЕГЭ
Пример: Постройте таблицу истинности для (A → B) ∧ ¬C и найдите, при каких наборах выражение ложно.
Алгоритмы на графах: кратчайшие пути
Пример: Город из 20 районов задан взвешенным графом. Реализуйте алгоритм Флойда — Уоршелла и посчитайте среднее сокращение пути.
Программирование на Python: циклы, функции, файлы
Пример: Напишите программу, которая читает числа из файла и находит пару с максимальной суммой, кратной 7.
Исполнители и трассировка алгоритмов
Пример: Что выведет программа после выполнения цикла? Составьте таблицу значений переменных по шагам.
Кодирование информации: объём, скорость передачи
Пример: Изображение 1024 × 768 с палитрой 256 цветов. Сколько килобайт занимает файл без сжатия?
Динамическое программирование и рекурсия
Пример: Сколько существует программ, переводящих число 1 в 20 командами «+1» и «×2»?
Базы данных и таблицы, электронные таблицы
Пример: По фрагменту таблицы БД определите, сколько записей удовлетворяют условию.
Теория информации и сжатие
Пример: Закодируйте сообщение кодом Хаффмана и посчитайте выигрыш по сравнению с равномерным кодом.
Задания ОГЭ и ЕГЭ с файлами (9, 17, 24, 26, 27)
Пример: Напишите программу для задания 27: найдите минимальную сумму пар с заданным свойством в файле из 10⁶ чисел.

Решить задачу прямо здесь

Напишите условие или загрузите фото — ИИ разберёт пошагово, бесплатно

🤖Решить задачу с ИИ
3 из 3 бесплатно

Напишите условие задачи или загрузите фото — ИИ решит пошагово

ИИ может допускать ошибки. Рекомендуем перепроверять важные задания.

Настоящее решение нейросети

Не макет — реальный ответ сервиса на задачу по предмету · проверено редакцией

Задача

Переведите число 156 из десятичной системы счисления в двоичную.

15610=100111002156_{10} = 10011100_2

Дано:

  • A10=156A_{10} = 156 — число в десятичной системе счисления
  • q=2q = 2 — основание целевой системы счисления

Найти:

  • A2A_2 — ?

Решение:

1. Алгоритм перевода. Для перевода целого числа из десятичной системы счисления в двоичную выполняется последовательное деление исходного числа и получаемых частных нацело на 22 с фиксацией остатков до тех пор, пока частное не станет равным нулю. Искомое двоичное число формируется записью полученных остатков в обратном порядке — от последнего к первому.

2. Вычисления. Выполним последовательное деление числа 156156 на 22 с определением остатков на каждом шаге.

156:2=78(остаток 0)156 : 2 = 78 \quad (\text{остаток } 0) 78:2=39(остаток 0)78 : 2 = 39 \quad (\text{остаток } 0) 39:2=19(остаток 1)39 : 2 = 19 \quad (\text{остаток } 1) 19:2=9(остаток 1)19 : 2 = 9 \quad (\text{остаток } 1) 9:2=4(остаток 1)9 : 2 = 4 \quad (\text{остаток } 1) 4:2=2(остаток 0)4 : 2 = 2 \quad (\text{остаток } 0) 2:2=1(остаток 0)2 : 2 = 1 \quad (\text{остаток } 0) 1:2=0(остаток 1)1 : 2 = 0 \quad (\text{остаток } 1)

3. Запись результата. Выпишем полученные остатки снизу вверх (от последнего к первому).

A2=100111002A_2 = 10011100_2

4. Проверка. Проверим правильность перевода, разложив двоичное число по степеням двойки.

100111002=127+026+025+124+123+122+021+02010011100_2 = 1 \cdot 2^7 + 0 \cdot 2^6 + 0 \cdot 2^5 + 1 \cdot 2^4 + 1 \cdot 2^3 + 1 \cdot 2^2 + 0 \cdot 2^1 + 0 \cdot 2^0 100111002=128+0+0+16+8+4+0+0=1561010011100_2 = 128 + 0 + 0 + 16 + 8 + 4 + 0 + 0 = 156_{10}

Ответ:

15610=100111002156_{10} = 10011100_2

Дальше можно научиться переводить это же число в восьмеричную и шестнадцатеричную системы счисления с помощью триад и тетрад без повторного деления.

Открыть это решение отдельной страницей → · все готовые решения

Как сервис решает задачи по информатике с фотографии

Не макеты: снимки условий, которые загрузили пользователи, и ответы сервиса на них. Каждый разбор перепроверен редакцией.

Граф из 20 районов: алгоритм Флойда — Уоршелла на Python по фото схемы

Реальный разбор пользователя · проверено редакцией

Скриншот задания: взвешенный граф из 20 вершин — районы города с расстояниями в километрах — и условие о вероятностной телепортации; требуется найти среднее сокращение пути
Скриншот задания, загруженный пользователем; сервис снял список рёбер со схемы и написал программу

Ниже представлена реализация алгоритма Флойда — Уоршелла на языке Python, адаптированная под данную задачу: вычисляется матрица кратчайших путей между всеми N=20N = 20 вершинами и рассчитывается математическое ожидание сокращения пути при оптимальной стратегии применения волшебного кувшина.

import numpy as np

# Количество вершин (районов)
N = 20
INF = float("inf")

# Инициализация матрицы смежности
# Вершины нумеруются от 0 до 19
dist = [[INF] * N for _ in range(N)]
for i in range(N):
    dist[i][i] = 0.0

# Список рёбер: (u, v, вес в км)
edges = [
    # Левый кластер
    (0, 1, 5),  # Верхний левый - крайний левый
    (0, 2, 16),  # Верхний левый - внутренний верхний
    (0, 7, 7),  # Верхний левый - узел (7)
    (0, 8, 7),  # Верхний левый - узел (8)
    (1, 2, 1),
    (2, 3, 3),
    (2, 7, 20),
    (3, 4, 20),
    (3, 7, 4),
    (4, 5, 3),
    (5, 6, 11),
    (6, 7, 20),
    (7, 10, 13),  # Узел 7 к нижнему узлу
    (1, 10, 18),  # Крайний левый к нижнему
    (5, 10, 12),  # Нижний левый внутренний к нижнему
    # Центральная часть
    (0, 9, 8),  # Верхний левый к верхнему центру
    (8, 9, 6),
    (8, 12, 12),
    (8, 13, 7),
    (9, 12, 15),
    (9, 11, 10),
    (9, 19, 12),  # Верхний центр к правому краю через верх
    (10, 13, 9),  # Нижний к узлу 13
    (10, 15, 17),  # Нижний к узлу 15
    (10, 19, 18),  # Нижний к нижнему правому углу
    # Правый кластер
    (11, 12, 2),
    (12, 13, 20),
    (12, 14, 6),
    (12, 18, 12),
    (13, 14, 2),
    (14, 15, 6),
    (14, 16, 6),
    (16, 17, 14),
    (17, 18, 18),
    (18, 19, 9),
]

# Заполнение неориентированного графа
for u, v, w in edges:
    dist[u][v] = min(dist[u][v], float(w))
    dist[v][u] = min(dist[v][u], float(w))

# 1. Алгоритм Флойда — Уоршелла (O(N^3))
for k in range(N):
    for i in range(N):
        for j in range(N):
            if dist[i][k] + dist[k][j] < dist[i][j]:
                dist[i][j] = dist[i][k] + dist[k][j]

# 2. Вычисление E[d(X, t)] — ожидаемого расстояния от случайной вершины до t
# При телепортации Оля оказывается в любой из N вершин с вероятностью 1/N
expected_dist_to = [0.0] * N
for t in range(N):
    expected_dist_to[t] = sum(dist[x][t] for x in range(N)) / N

# 3. Расчёт среднего сокращения пути по всем парам s != t
total_reduction = 0.0
pairs_count = N * (N - 1)

for s in range(N):
    for t in range(N):
        if s == t:
            continue
        # Выигрыш от телепортации: если ожидаемый путь меньше прямого
        gain = max(0.0, dist[s][t] - expected_dist_to[t])
        total_reduction += gain

mean_reduction = total_reduction / pairs_count

print(f"Суммарное сокращение: {total_reduction:.6f} км")
print(f"Среднее сокращение: {mean_reduction:.6f} км")

Принцип работы алгоритма:

  1. Тройной цикл Флойда — Уоршелла последовательно перебирает каждую вершину kk в качестве промежуточной и обновляет расстояние d(i,j)=min(d(i,j),d(i,k)+d(k,j))d(i, j) = \min(d(i, j), d(i, k) + d(k, j)).
  2. Массив expected_dist_to[t] заранее накапливает среднее значение пути до цели tt, что снижает сложность последующего расчёта с O(N3)O(N^3) до O(N2)O(N^2).
  3. Для каждой пары (s,t)(s, t) проверяется целесообразность телепортации: если прямое расстояние d(s,t)d(s, t) больше E[d(X,t)]\mathbb{E}[d(X, t)], кувшин применяется сразу на старте, сокращая маршрут на d(s,t)E[d(X,t)]d(s, t) - \mathbb{E}[d(X, t)].

Перевод 2020 в двоичную систему и подсчёт единиц

Реальный разбор пользователя · проверено редакцией

перевести целые числа из десятичных системы в двоичную 2020 и втрое задание сколько единиц в двоичной записи десятичного числа
Условие пользователя — с опечатками, как оно было прислано

Число 202010=1111110010022020_{10} = 11111100100_2, в его двоичной записи содержится 77 единиц.

Дано:

  • Десятичное число: A10=2020A_{10} = 2020
  • Основание целевой системы счисления: q=2q = 2

Найти:

  • Двоичное представление числа: A2A_2 — ?
  • Количество единиц в двоичной записи: N1N_1 — ?

Решение:

1. Алгоритм перевода делением на основание. Для перевода целого числа из десятичной системы счисления в двоичную выполняется последовательное деление исходного числа и получаемых целых частных на 22 с фиксацией остатков до тех пор, пока частное не станет равным нулю. Результат записывается из остатков от деления в обратном порядке (снизу вверх).

2. Вычисления. Выполняем последовательное деление:

2020:2=1010(остаток 0)2020 : 2 = 1010 \quad (\text{остаток } 0) 1010:2=505(остаток 0)1010 : 2 = 505 \quad (\text{остаток } 0) 505:2=252(остаток 1)505 : 2 = 252 \quad (\text{остаток } 1) 252:2=126(остаток 0)252 : 2 = 126 \quad (\text{остаток } 0) 126:2=63(остаток 0)126 : 2 = 63 \quad (\text{остаток } 0) 63:2=31(остаток 1)63 : 2 = 31 \quad (\text{остаток } 1) 31:2=15(остаток 1)31 : 2 = 15 \quad (\text{остаток } 1) 15:2=7(остаток 1)15 : 2 = 7 \quad (\text{остаток } 1) 7:2=3(остаток 1)7 : 2 = 3 \quad (\text{остаток } 1) 3:2=1(остаток 1)3 : 2 = 1 \quad (\text{остаток } 1) 1:2=0(остаток 1)1 : 2 = 0 \quad (\text{остаток } 1)

Записываем остатки в обратном порядке:

A2=111111001002A_2 = 11111100100_2

3. Подсчёт количества единиц. Считаем количество цифр 11 в полученной двоичной записи числа 11111100100211111100100_2:

N1=1+1+1+1+1+1+1=7N_1 = 1 + 1 + 1 + 1 + 1 + 1 + 1 = 7

Ответ: 202010=1111110010022020_{10} = 11111100100_2; количество единиц: 77.

Как нейросеть решает задачу по информатике: 4 шага

  1. 1

    Сфотографируйте условие — текст, граф, таблицу или листинг — или напишите задачу и укажите язык программирования.

  2. 2

    Нейросеть определяет тип задачи: перевод в системе счисления, логическое выражение, трассировка, алгоритм или программа.

  3. 3

    Решает по шагам: деление с остатками, таблица истинности, таблица значений переменных — или пишет код с комментариями и проверкой на примере из условия.

  4. 4

    Дальше: «Проверить» — найти ошибку в вашей программе, «Похожая задача» — тренировка, «Научиться» — подсказки к алгоритму без готового кода.

Оформление. Оформление как требуют на экзамене: для систем счисления — столбик делений с остатками и запись «снизу вверх»; для логики — полная таблица истинности; для программ — код с комментариями, объяснение идеи и сложности, ответ на примере из условия. Языки: Python по умолчанию, C++, Pascal, Java — по запросу.

Код по фото схемы: что сервис проверяет, прежде чем выдать программу

Пример с графом на этой странице — редкий случай: условие целиком на картинке, включая 35 рёбер с весами. Чтобы программа была верной, недостаточно знать алгоритм. Вот что происходит между фото и кодом.

Данные снимаются со схемы и показываются списком

Список рёбер (u, v, вес) выписан в коде явно, с комментариями «левый кластер», «центральная часть». Так пользователь может сверить каждое ребро с картинкой — и именно здесь чаще всего расходятся ответ и ключ, если на фото плохо видна цифра.

Алгоритм отделён от расчёта по условию

Флойд — Уоршелл считает матрицу расстояний; отдельный блок считает то, что спрашивает задача, — среднее сокращение пути по всем парам. Ошибки в постановке (упорядоченные пары, s ≠ t) видны и исправляются без переписывания алгоритма.

Сложность названа и объяснена

O(N³) для Флойда — Уоршелла при N = 20 — мгновенно; при N = 10⁴ понадобился бы Дейкстра из каждой вершины. Сервис пишет, почему выбран именно этот алгоритм и когда он не подойдёт.

Проверка на маленьком примере

Для систем счисления это обратный перевод (11111100100₂ = 1024 + 512 + 256 + 128 + 64 + 32 + 4 = 2020), для программ — прогон на данных из условия. Ответ без проверки не считается готовым.

Типичные ошибки в задачах по информатике

  • Остатки от деления записаны сверху вниз, а не снизу вверх — число «перевёрнуто».
  • В таблице истинности пропущен набор: для трёх переменных строк 8, не 6.
  • Импликация A → B посчитана как B → A.
  • Цикл for в Python: range(1, n) не включает n.
  • Граф неориентированный, а ребро добавлено только в одну сторону.
  • Объём файла посчитан в битах, а ответ требуется в килобайтах (1 КБ = 1024 байта).

Когда нейросеть не подходит для задач по информатике?

  • !Цифры на схемах и графах с фото низкого качества могут быть прочитаны неверно — сверьте список рёбер, который сервис выписывает в коде.
  • !Программы для заданий 26–27 ЕГЭ с файлами сервис проверяет на примере из условия; полный файл нужно прогнать самостоятельно.
  • !Нестандартные исполнители из школьных учебников (не Робот/Чертёжник/Кумир) — опишите их команды словами.
  • !Олимпиадные задачи с ограничениями по времени и памяти — в режиме «Про» и с тестированием на своих данных.

Нужно больше решений?

3 задачи бесплатно, ещё 10 — после регистрации, дальше — тарифы «Ученик» и «Про» (оплату подключаем). Оставьте email — напишем в день запуска и добавим +5 решений сразу

Никакого спама — только уведомление о запуске

Частые вопросы

Как решить задачу по информатике по фото?

+

Сфотографируйте условие — из учебника, сборника ЕГЭ или скриншот задания с графом или таблицей — и загрузите в поле на странице. Нейросеть распознает текст, схему и код, решит по шагам и, если нужно, напишет программу с пояснениями.

Решает ли задачи на системы счисления?

+

Да: перевод между двоичной, восьмеричной, десятичной и шестнадцатеричной системами делением с остатками и через степени, арифметика в разных системах, подсчёт единиц и нулей в записи, задания 14 ЕГЭ с уравнениями в системах счисления.

Поможет с логикой: таблицы истинности, упрощение выражений?

+

Да: таблицы истинности для любых выражений, законы де Моргана и упрощение, задания 2 и 15 ЕГЭ (поиск функции по таблице, отрезки и множества), схемы из логических элементов.

Пишет ли нейросеть программы на Python и других языках?

+

Да: Python, C++, Pascal, Java — с комментариями к каждому блоку и разбором сложности. Для задач с графами реализует алгоритмы (Дейкстра, Флойд — Уоршелл, поиск в ширину), как в примере на этой странице.

Разбирает ли алгоритмы и блок-схемы?

+

Да: трассировка алгоритма по шагам с таблицей значений переменных, исполнители (Робот, Чертёжник, Редактор), рекурсия, блок-схемы по описанию.

Подходит для ОГЭ и ЕГЭ по информатике?

+

Да: задания 1–15 ОГЭ и 1–27 ЕГЭ, включая задачи с файлами (9, 17, 24, 26, 27): сервис пишет программу, объясняет идею и показывает, как проверить её на примере из условия.

Проверит ли мой код и найдёт ошибку?

+

Да. В режиме «Проверить» загрузите фото или текст кода — сервис найдёт синтаксические и логические ошибки, объяснит, на каких входных данных программа даёт неверный ответ, и предложит исправление.

Это бесплатно?

+

3 задачи бесплатно без регистрации, ещё 10 — после регистрации и подтверждения почты. Дальше — платный тариф.