Как решить егэ по информатике на питоне
Перейти к содержимому

Как решить егэ по информатике на питоне

  • автор:

ЕГЭ по информатике 2023 — Задания 19-21 (Теория игр на Python)

Продолжаем наш видеокурс по подготовке к ЕГЭ по информатике 2023!

Сегодня разберём задачи из 19, 20 и 21 задания ЕГЭ по информатике. Для этих задач существует спасительный шаблон на Python, который позволяет получить на них правильные ответы и затратить минимум сил и времени.

Приступим к первой серии задач из демоверсии ЕГЭ по информатике 2021 года.

Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежат две кучи камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в одну из куч (по своему выбору) один камень или увеличить количество камней в куче в два раза. Например, пусть в одной куче 10 камней, а в другой 5 камней; такую позицию в игре будем обозначать (10, 5). Тогда за один ход можно получить любую из четырёх позиций: (11, 5), (20, 5), (10, 6), (10, 10). Для того чтобы делать ходы, у каждого игрока есть неограниченное количество камней.

Игра завершается в тот момент, когда суммарное количество камней в кучах становится не менее 77. Победителем считается игрок, сделавший последний ход, т.е. первым получивший такую позицию, при которой в кучах будет 77 или больше камней.

В начальный момент в первой куче было семь камней, во второй куче – S камней; 1 ≤ S ≤ 69.

Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Описать стратегию игрока – значит описать, какой ход он должен сделать в любой ситуации, которая ему может встретиться при различной игре противника. В описание выигрышной стратегии не следует включать ходы играющего по этой стратегии игрока, не являющиеся для него безусловно выигрышными, т.е. не являющиеся выигрышными независимо от игры противника.

Известно, что Ваня выиграл своим первым ходом после неудачного первого хода Пети. Укажите минимальное значение S, когда такая ситуация возможна.

Решим задачу с помощью шаблона на языке программирования Python. Если хотите ознакомится с аналитическим решением задач на теорию игр, можете посмотреть мои статьи по 19 Заданию, 20 Заданию, 21 Заданию. Но с помощью шаблонов на экзамене решать быстрее и легче.

Введём параметр p, который будет олицетворять позицию игры (ход).

Начальная позиция Ход Пети Ход Вани Ход Пети Ход Вани Ход Пети
p 1 2 3 4 5 6
def F(x, y, p): if x + y >= 77 and p==3: return True if x + y < 77 and p==3: return False return F(x+1, y, p+1) or F(x*2, y, p+1) or F(x, y+1, p+1) or F(x, y*2, p+1) for s in range(1, 70): if F(s, 7, 1): print(s)

Заводим функцию F. Она принимает параметры: x — количество камней в одной куче, y — в другой, p-позиция игры.

Дальше описываем победу. Если x+y>=77 и позиция равна 3 (1 Ход Вани), то возвращаем True, что означает победу.

Если, позиция уже равна 3, но сумарное количество камней меньше, чем должно быть для победы, то возвращаем False (проигрыш).

Если мы не вышли на первых двух условиях, то, значит, продолжаем прокручивать ходы, рекурсивно запускаем функцию F.

Т.к. здесь формулировка: «Известно, что Ваня выиграл своим первым ходом после неудачного первого хода Пети.», то между функциями ставим союз ИЛИ (or).

В конце перебираем все возможные значения для s через цикл for, ищём те значения, которые подходят по условию задачи. Значение p всегда увеличиваем на 1.

Для игры, описанной в предыдущем задании, найдите два таких значения S, при которых у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:

− Петя не может выиграть за один ход;

− Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.

Найденные значения запишите в ответе в порядке возрастания.

Легко переделать из прошлой задачи.

def F(x, y, p): if x + y >= 77 and p==4: return True if x + y < 77 and p==4: return False if x + y >= 77: return False if p%2==0: return F(x+1, y, p+1) and F(x*2, y, p+1) and F(x, y+1, p+1) and F(x, y*2, p+1) else: return F(x+1, y, p+1) or F(x*2, y, p+1) or F(x, y+1, p+1) or F(x, y*2, p+1) for s in range(1, 70): if F(s, 7, 1): print(s)

Теперь должен выигрывать Петя на своём втором ходе. Поэтому в условиях ставим позицию p=4.

Добавляется третье условие. Если кто-то выиграл, но на первых двух условиях мы не вышли из функции, то, значит, выиграл не тот, кто нам нужен, следовательно, возвращаем Fasle.

Здесь вопрос отличается от 19 задания. Здесь Петя должен побеждать при любом ходе соперника, а не при одном неудачном ходе Вани, поэтому добавляется ещё условие.

Для чётных p (это ходы Пети), возвращаем разные ходы через and, т.к. он должен побеждать в любом случае.

Для нечётных p (это ходы Вани), возвращаем ходы через or.

Для игры, описанной в задании 19, найдите минимальное значение S, при котором одновременно выполняются два условия:

– у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети;

– у Вани нет стратегии, которая позволит ему гарантированно выиграть первым ходом.

Опять используем прошлый шаблон, но немного модернизируем.

def F(x, y, p): if x + y >= 77 and (p==3 or p==5): return True if x + y < 77 and p==5: return False if x + y >= 77: return False if p%2==1: return F(x+1, y, p+1) and F(x*2, y, p+1) and F(x, y+1, p+1) and F(x, y*2, p+1) else: return F(x+1, y, p+1) or F(x*2, y, p+1) or F(x, y+1, p+1) or F(x, y*2, p+1) def F1(x, y, p): if x + y >= 77 and p==3: return True if x + y < 77 and p==3: return False if x + y >= 77: return False if p%2==1: return F1(x+1, y, p+1) and F1(x*2, y, p+1) and F1(x, y+1, p+1) and F1(x, y*2, p+1) else: return F1(x+1, y, p+1) or F1(x*2, y, p+1) or F1(x, y+1, p+1) or F1(x, y*2, p+1) for s in range(1, 70): if F(s, 7, 1): print(s) print() for s in range(1, 70): if F1(s, 7, 1): print(s)

Здесь Ваня должен выигрывать либо на первом своём ходе (p=3), либо на втором своём ходе (p=5).

Т.к. Ваня не должен гарантированно выиграть своим первым ходом, то мы создаём ещё одну функцию F1, похожую на основную функцию F, которая вычисляет, когда Ваня именно гарантированно выигрывает на своём первом ходе (p=3). И, затем, мы из тех чисел, которые получились в первой функции F, исключаем числа, которые получились во второй функции F1.

В первой функции получилось 30,33, а во второй результатов нет. Получается ответ 30.

Следущая вариация задач отличается от первой лишь задачей в 19-ом задании. Рассмотрим демоверсию ЕГЭ по информатике 2022. Так же в этой серии задач будет одна куча, но из-за этого шаблон практически никак не меняется.

Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежит куча камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в кучу один камень или увеличить количество камней в куче в два раза. Для того чтобы делать ходы, у каждого игрока есть неограниченное количество камней.

Игра завершается в тот момент, когда количество камней в куче становится не менее 29. Победителем считается игрок, сделавший последний ход, т.е. первым получивший кучу, в которой будет 29 или больше камней.

В начальный момент в куче было S камней, 1 ≤ S ≤ 28.

Будем говорить, что игрок имеет выигрышную стратегию, если он может выиграть при любых ходах противника. Описать стратегию игрока – значит описать, какой ход он должен сделать в любой ситуации, которая ему может встретиться при различной игре противника. В описание выигрышной стратегии не следует включать ходы играющего по этой стратегии игрока, не являющиеся для него безусловно выигрышными, т.е. не являющиеся выигрышными независимо от игры противника.

Укажите такое значение S, при котором Петя не может выиграть за один ход, но при любом ходе Пети Ваня может выиграть своим первым ходом.

Здесь вопрос отличается от прошлой 19-ой задачи. Здесь Петя должен выиграть в любом случае. Мы эту задачу можем воспринимать, как 20-ую из демоверсии 2021. Ведь там тоже игроку нужно обязательно было побеждать. Осталось написать шаблон с соответствующими параметрами.

def F(x, p): if x>=29 and p==3: return True if xand p==3: return False if x>=29: return False if p%2==1: return F(x+1, p+1) and F(x*2, p+1) else: return F(x+1, p+1) or F(x*2, p+1) for s in range(1, 29): if F(s, 1): print(s)

Заводим функцию F. Т.к. у нас одна куча, то она принимает параметры: x — количество камней в куче, p-позиция игры.

Дальше описываем победу. Если x>=29 и позиция равна 3 (1 Ход Вани), то возвращаем True, что означает победу.

Если, позиция уже равна 3, но камней меньше, чем должно быть для победы, то возвращаем False (проигрыш).

Третье условие. Если кто-то выиграл, но на первых двух условиях мы не вышли из функции, то, значит, выиграл не тот, кто нам нужен, следовательно, возвращаем Fasle.

Если мы не вышли на первых трёх условиях, то, значит, продолжаем прокручивать ходы, рекурсивно запускаем функцию F.

Для нечётных p (это ходы Вани), возвращаем разные ходы через and, т.к. он должен побеждать в любом случае. При этом увеличиваем на 1 значение p.

Для чётных p (это ходы Пети), возвращаем ходы через or.

В конце перебираем все возможные значения для s через цикл for, ищём те значения, которые подходят по условию задачи.

Для игры, описанной в задании 19, найдите два таких значения S, при которых у Пети есть выигрышная стратегия, причём одновременно выполняются два условия:

− Петя не может выиграть за один ход;

− Петя может выиграть своим вторым ходом независимо от того, как будет ходить Ваня.

Найденные значения запишите в ответе в порядке возрастания.

Задача точно такая же, как и в 19 задании, только теперь обязательно должен побежать Петя на своём втором ходу (p=4), при любой игре Вани.

Пишем тот же шаблон, немного отредактировав его.

def F(x, p): if x>=29 and p==4: return True if xand p==4: return False if x>=29: return False if p%2==0: return F(x+1, p+1) and F(x*2, p+1) else: return F(x+1, p+1) or F(x*2, p+1) for s in range(1, 29): if F(s, 1): print(s)

Получается 7 и 13.

Для игры, описанной в задании 19, найдите значение S, при котором одновременно выполняются два условия:

− у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети;

− у Вани нет стратегии, которая позволит ему гарантированно выиграть первым ходом.

Если найдено несколько значений S, в ответе запишите минимальное из них.

Опять используем прошлый шаблон, но немного модернизируем.

def F(x, p): if x>=29 and (p==3 or p==5): return True if xand p==5: return False if x>=29: return False if p%2==1: return F(x+1, p+1) and F(x*2, p+1) else: return F(x+1, p+1) or F(x*2, p+1) def F1(x, p): if x>=29 and p==3: return True if xand p==3: return False if x>=29: return False if p%2==1: return F1(x+1, p+1) and F1(x*2, p+1) else: return F1(x+1, p+1) or F1(x*2, p+1) for s in range(1, 29): if F(s, 1): print(s) print() for s in range(1, 29): if F1(s, 1): print(s)

Здесь Ваня должен выигрывать либо на первом своём ходе (p=3), либо на втором своём ходе (p=5).

Т.к. Ваня не должен гарантированно выиграть своим первым ходом, то мы создаём ещё одну функцию F1, похожую на основную функцию F, которая вычисляет, когда Ваня именно гарантированно выигрывает на своём первом ходе (p=3). И, затем, мы из тех чисел, которые получились в первой функции F, исключаем числа, которые получились во второй функции F1.

В первой функции получилось 12,14, а во второй 14. Получается ответ 12.

На сегодня всё. Мы рассмотрели самые распространённые вариации задач из 19-21 задания и подобрали к ним «противоядие». До новых встреч!

Как легко решить 12 задание ЕГЭ по информатике с помощью Python ��

Как решать 12 задание ЕГЭ по информатике на Python? Для решения 12 задания ЕГЭ по информатике на Python, вам потребуется использовать навыки работы с файлами и строками. Вот пример кода, который поможет вам выполнить это задание:

 # Откройте файл для чтения with open("input.txt", "r") as file: data = file.read().strip() # Разделите данные на список строк lines = data.split("\n") # Инициализируйте переменные max_length = 0 longest_line = "" # Переберите все строки for line in lines: # Проверьте длину строки if len(line) > max_length: max_length = len(line) longest_line = line # Запишите результат в файл with open("output.txt", "w") as file: file.write(longest_line) 

Этот код открывает файл «input.txt» для чтения и считывает его содержимое. Затем данные разделяются на отдельные строки, и переменные для хранения наибольшей длины строки и самой длинной строки инициализируются. Затем происходит перебор всех строк, и если текущая строка имеет большую длину, она становится новой самой длинной строкой. В конце результат записывается в файл «output.txt». Не забудьте заменить «input.txt» и «output.txt» на соответствующие имена ваших файлов.

Детальный ответ

Как решать 12-е задание ЕГЭ по информатике на языке Python?

ЕГЭ по информатике — это серьезное испытание для школьников. Но не беспокойтесь, справиться с 12-м заданием на языке Python возможно! В данной статье мы разберем, как успешно решить это задание.

1. Внимательно прочитайте условие задачи

Перед тем, как приступить к решению, важно внимательно прочитать условие задачи. Выделите ключевые моменты и запомните их. Понимание задания — это первый шаг к его успешному решению.

2. Разбейте задачу на подзадачи

После того, как вы поняли условие задачи, разделите ее на более мелкие подзадачи. Это поможет вам логически организовать свои мысли и разработать план решения.

3. Напишите структуру программы

Прежде чем писать код, запишите структуру вашей программы на бумаге или в комментариях. Определите, какие функции или классы вам понадобятся, какие переменные нужно создать и т.д. Это поможет вам сохранить логическую целостность кода и избежать ошибок.

4. Начните писать код

После того, как у вас есть план решения и структура программы, приступайте к написанию кода. Вам может потребоваться использовать различные конструкции языка Python, такие как циклы, условные операторы и списки. Обратитесь к своим знаниям и опыту в программировании, чтобы успешно реализовать решение.

5. Проверьте свое решение

После того, как вы написали код, важно проверить его работоспособность. Протестируйте программу на разных входных данных и убедитесь, что она дает корректные результаты. Если необходимо, внесите корректировки в код.

6. Оформите код и комментарии

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

Пример кода:

 # Пример решения 12-го задания ЕГЭ по информатике на языке Python # Задание: Найти сумму всех чисел, кратных 3 или 5, в диапазоне от 1 до 100 # Инициализация переменных min_value = 1 max_value = 100 sum_of_multiples = 0 # Цикл для перебора чисел в указанном диапазоне for num in range(min_value, max_value+1): if num % 3 == 0 or num % 5 == 0: sum_of_multiples += num # Вывод результата print("Сумма чисел, кратных 3 или 5:", sum_of_multiples) 

7. Перепроверьте свое решение

Прежде чем сдавать решение, убедитесь, что вы правильно поняли задачу и соответствующим образом реализовали свое решение на языке Python. Перепроверьте код и убедитесь, что он запускается без ошибок и дает правильные результаты.

8. Учитесь на ошибках

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

Заключение

Пожалуйста, помните, что решение 12-го задания ЕГЭ по информатике на языке Python требует усилий и практики. Разбейте задачу на более мелкие части, следуйте структуре программы и проверяйте свое решение. Учтите, что знание основ программирования на Python и умение логически анализировать задачи помогут вам достичь успеха.

���� Как делать 12 задание ЕГЭ по информатике через Питон? Используй эти советы!

12-е задание ЕГЭ по информатике можно выполнить, используя язык программирования Python. Вот пример кода:

 # Ваш код для выполнения задания ЕГЭ 

Замените комментарий «# Ваш код для выполнения задания ЕГЭ» на свой код для решения задания.

Детальный ответ

Как решить задание 12 ЕГЭ по информатике с помощью Python?

Задание 12 Единого государственного экзамена (ЕГЭ) по информатике является одним из самых сложных и требует хорошего понимания основ программирования на языке Python. В этой статье мы рассмотрим подробное объяснение и предоставим пример решения этой задачи.

Постановка задачи

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

Пример решения с использованием Python

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

 # Импортируем необходимые библиотеки import csv # Открываем файл с данными with open('data.csv', 'r') as file: reader = csv.reader(file) # Пропускаем заголовок next(reader) # Инициализируем переменные total = 0 count = 0 # Читаем данные из файла for row in reader: value = int(row[0]) # Проверяем условие if value % 2 == 0: total += value count += 1 # Выводим результат print(f"Сумма четных чисел: ") print(f"Количество четных чисел: ") 

В этом примере мы используем библиотеку CSV для работы с файлом данных. Мы открываем файл и считываем данные, пропуская заголовок. Затем мы проходим по каждой строке и проверяем, является ли число четным. Если число четное, мы добавляем его к общей сумме и увеличиваем счетчик. В конце выводим результаты.

Общие советы для решения задания 12 ЕГЭ по информатике

  1. Тщательно прочитайте задание. Уделите особое внимание требованиям и постановке задачи. Понимание условия задачи — ключевой шаг к правильному решению.
  2. Разделите задачу на подзадачи. Большую задачу всегда проще решить, разделив ее на более мелкие подзадачи. Это поможет вам лучше организовать свой код и решить задачу поэтапно.
  3. Используйте подходящие инструменты и библиотеки. Python имеет множество встроенных и сторонних библиотек, которые могут помочь вам в решении задачи. Исследуйте возможности языка и выберите наиболее подходящий инструмент для решения задания.
  4. Тестируйте свое решение. Проверка и отладка вашего кода являются важными шагами в процессе решения задачи. Протестируйте ваше решение на различных тестовых данных, чтобы убедиться в его правильности и эффективности.
  5. Ищите подсказки и обратную связь. Если у вас возникают затруднения или вам не удается решить задачу самостоятельно, обратитесь к учебным материалам, онлайн-ресурсам или попросите помощи у своих одноклассников или преподавателей.

Следуя этим советам и практикуясь в решении различных задач на программирование, вы сможете успешно выполнить задание 12 ЕГЭ по информатике с помощью Python.

Python. Задачи

В данном разделе приведены задачи, позволяющие освоить простейшие алгоритмы, а также задачи, которые могут встретиться на ЕГЭ.

Для некоторых задач требуется скачать тестовые файлы, которые должны быть использованы для тестирования решения. Файлы следует сохранять в вашем рабочем каталоге. В решениях пособия используется каталог c:\work.

Задачи для самостоятельного решения

В файле записаны слова по одному в каждой строке. Вывести все слова максимальной длины по одному в каждой строке.

В файле записаны слова по одному в каждой строке. Вывести все слова из одной буквы, затем из двух и т.д., пока не будут выведены все слова.

Дан список из целых чисел. Для каждого входящего в список числа вывести сколько раз оно встречается в списке. Если число встречается в списке несколько раз, то вывести его только один раз. Также вывести количество различных чисел в списке.

Задана логическая функция F(a, b) = ¬a ∨ b. Вывести таблицу истинности функции F(a, b). Необходимо для каждого набора аргументов вычислить и вывести значение функции.

Пользователь вводит натуральное число N. Вывести все такие значения среди чисел 1..N, запись которых совпадает с последними цифрами их квадрата. Например 6, 36.

Вывести все натуральные из диапазона [1000, 1100], в записи которых нет одинаковых цифр.

Заполнить двумерный массив (таблицу) чисел размером M x N, так чтобы числа от 1 до M⋅N шли в нем по возрастанию «ходом быка»: «бык» начинает ход в левом верхнем углу и идет по строке направо, затем делает шаг вниз и по второй строке идет справа налево, в третьей строке снова слева направо и т.д. Вывести заполненную таблицу.

Текстовый файл состоит не более чем из 1000000 символов X, Y и Z. Определить и вывести максимальное количество идущих подряд одинаковых символов.

Текстовый файл состоит не более чем из 1000000 символов X, Y и Z. Определите максимальное количество идущих подряд символов, среди которых каждые два соседних различны.

Пользователь вводит четыре числа. Найти и вывести наибольший общий делитель этих чисел.
Вывести все простые числа из диапазона [1546300, 1546400].

Пользователь вводит последовательность целых чисел, которую заканчивает вводом нуля. Найти в последовательности максимум и сколько раз он встречается в ней.

Вывести всех «близнецов» (так называются простые числа, разность между которыми равна двум) из диапазона 2..N, где число N вводит пользователь.

Дан список целых чисел, найти элементы с максимальным и вторым по величине значениями.
[-2, 4 , 6, -3, 7, 9, 5, 8, 0, -1]

Подсчитать сумму всех положительных элементов списка и количество всех отрицательных элементов.
[-2, 4 , 6, -3, 7, 9, 5, 8, 0, -1]

Проверить упорядоченность и порядок (возрастание или убывание) введенного пользователем списка из 10 элементов.

Выполнить сортировку списка, введенного пользователем, по возрастанию методом поиска наименьшего элемента.

У натурального числа, введенного пользователем, найти и вывести наименьший делитель больше 1.
Разложить натуральное число, введенное пользователем, на множители.
Отсортировать массив целых чисел, введенных пользователем, методом «пузырька».
Отсортировать список из целых чисел, введенных пользователем, методом простых вставок.

Целочисленный список из 10 элементов вводит пользователь. Элементы списка могут принимают значения от 0 до 1000. Найти и вывести минимальное значение среди элементов списка, которые четные и делятся на 3.

Целочисленный список из 10 элементов вводит пользователь. Подсчитать и вывести сумму всех отрицательных элементов списка, которые делятся на 5 и не делятся на 10. Если таких элементов нет, то вывести сообщение об этом.

Целочисленный список из 10 элементов вводит пользователь. Элементы списка могут принимать значения от 0 до 100 — сумма баллов за год за выполнение домашних заданий по информатике учащимися. Для получения положительной оценки необходимо было набрать 40 баллов. Найти и вывести минимальный балл среди учащихся, получивших положительную оценку.

Целочисленный список из 10 элементов вводит пользователь. Пользователь также вводит число X. Найти и вывести минимальный индекс элемента, равного X, или сообщение, что такого элемента нет.

Целочисленный список из 10 элементов вводит пользователь. Найти и вывести сумму наибольшей возрастающей последовательности подряд идущих элементов. Если таких последовательностей больше, чем одна, то вывести сумму первой из них.

Рассматривается множество целых чисел, принадлежащих числовому отрезку [1016; 7937], которые делятся на 3 и не делятся на 7, 17, 19, 27. Найдите количество таких чисел и максимальное из них.

Рассматривается множество целых чисел, принадлежащих числовому отрезку [2047; 9532], которые делятся на 5 и не делятся на 6, 10, 16, 27. Найдите количество таких чисел и максимальное из них.

Рассматривается множество целых чисел, принадлежащих числовому отрезку [3052; 7445], которые делятся на 4 или 5 и не делятся на 7, 9, 13, 23. Найдите количество таких чисел и максимальное из них.

Рассматривается множество целых чисел, принадлежащих числовому отрезку [3052; 7445], которые делятся на 3 и 4 и не делятся на 8, 11, 13. Найдите количество таких чисел и минимальное из них.

Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [174457; 174505], числа, имеющие ровно два различных натуральных делителя, не считая единицы и самого числа. Для каждого найденного числа запишите эти два делителя в таблицу на экране с новой строки в порядке возрастания произведения этих двух делителей. Делители в строке таблицы также должны следовать в порядке возрастания.

Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [145762; 145880], числа, имеющие ровно четыре различных натуральных делителя, не считая единицы и самого числа. Для каждого найденного числа запишите эти делители в таблицу на экране с новой строки в порядке заданной числовой последовательности. Делители в строке таблицы также должны следовать в порядке возрастания.

Напишите программу, которая ищет среди целых чисел, принадлежащих числовому отрезку [121363; 121431], простые числа. Для каждого найденного простого числа запишите его порядковый номер в заданной последовательности и само число в таблицу на экране с новой строки в порядке возрастания порядковых номеров.

Системный администратор раз в неделю создаёт архив пользовательских файлов. Однако объём диска, куда он помещает архив, может быть меньше, чем суммарный объём архивируемых файлов. Известно, какой объём занимает файл каждого пользователя. По заданной информации об объёме файлов пользователей и свободном объёме на архивном диске определите максимальное число пользователей, чьи файлы можно сохранить в архиве, а также максимальный размер имеющегося файла, который может быть сохранён в архиве, при условии, что сохранены файлы максимально возможного числа пользователей.
Запишите в ответе два числа: сначала наибольшее число пользователей, чьи файлы могут быть помещены в архив, затем максимальный размер имеющегося файла, который может быть сохранён в архиве, при условии, что сохранены файлы максимально возможного числа пользователей.

Системный администратор раз в неделю создаёт архив пользовательских файлов. Однако объём диска, куда он помещает архив, может быть меньше, чем суммарный объём архивируемых файлов. Администратор хочет сэкономить место на диске для хранения архивов и для этого выбирает 4 наибольших по объему архивов и удаляет их, тем самым сэкономив место на диске. Известно, какой объём занимает файл каждого пользователя. По заданной информации об объёме файлов пользователей, определите сэкономленное администратором место.

Системный администратор раз в неделю создаёт архив пользовательских файлов. Однако объём диска, куда он помещает архив, может быть меньше, чем суммарный объём архивируемых файлов. Известно, какой объём занимает файл каждого пользователя. По заданной информации об объёме файлов пользователей и свободном объёме на архивном диске определите минимальное число пользователей, чьи файлы нельзя сохранить в архиве..

Имеется набор данных, состоящий из пар положительных целых чисел. Необходимо выбрать из каждой пары ровно одно число так, чтобы сумма всех выбранных чисел не делилась на 3 и при этом была максимально возможной. Гарантируется, что искомую сумму получить можно. Программа должна напечатать одно число — максимально возможную сумму, соответствующую условиям задачи.

Имеется набор данных, состоящих из пар положительных целых чисел. Необходимо выбрать из каждой пары ровно одно число так, чтобы сумма всех выбранных чисел не делилась на 6 и при этом была минимально возможной. Гарантируется, что искомую сумму получить можно. Программа должна напечатать одно число — минимально возможную сумму, соответствующую условиям задачи.

Гоночная трасса состоит из двух основных дорог и нескольких переездов, позволяющих перейти с одной дороги на другую. На всех участках, включая переезды, движение разрешено только в одну сторону, поэтому переезд возможен только с дороги A на дорогу B. Гонщик стартует в точке A0 и должен финишировать в точке BN. Он знает, за какое время сможет пройти каждый участок пути по каждой дороге, то есть время прохождения участков A0A1, A1A2, …, AN-1AN, B0B1, B1B2, …, BN-1BN. Время прохождения всех переездов A0B0, A1B1, …, ANBN одинаково и известно гонщику. Необходимо определить, за какое минимальное время гонщик сможет пройти трассу.

На вход программы поступает последовательность из n целых положительных чисел. Рассматриваются все пары элементов последовательности ai и aj, такие что i aj (первый элемент пары больше второго; i и j — порядковые номера чисел в последовательности входных данных). Среди пар, удовлетворяющих этому условию, необходимо найти и напечатать пару с максимальной суммой элементов, которая делится на m = 120. Если среди найденных пар максимальную сумму имеют несколько, то необходимо вывести последнюю их них.

На вход программы поступает последовательность из N целых положительных чисел. Известно, что все числа в последовательности различны. Необходимо составить программу, которая подсчитывает количество пар различных элементов последовательности, произведение которых делится на 51. Элементы пары не обязательно должны стоять в последовательности рядом, порядок элементов в паре не важен.

Дед Мороз и Снегурочка приходят на детские утренники с мешком конфет. Дед Мороз делит конфеты поровну между всеми присутствующими детьми (детей на утреннике никогда не бывает больше 100), а оставшиеся конфеты отдает Снегурочке. Снегурочка каждый раз записывает в блокнот количество полученных конфет. Если конфеты разделились между всеми детьми без остатка, Снегурочка ничего не получает и ничего не записывает. Когда утренники закончились, Деду Морозу стало интересно, какое число чаще всего записывала Снегурочка. Дед Мороз и Снегурочка — волшебные, поэтому число утренников N, на которых они побывали, может быть очень большим. Вывести число, которое Снегурочка записывала чаще всего.

Дана последовательность N целых положительных чисел. Рассматриваются все пары элементов последовательности, находящихся на расстоянии не меньше 10 (разница в индексах элементов должна быть 10 или более). Необходимо определить количество пар, произведение чисел в которых кратно 10.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *