Решу егэ информатика 16029

Логическая функция F задаётся выражением (¬x ∧ ¬y) ∨ (yz) ∨ ¬w.

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

Определите, какому столбцу таблицы истинности соответствует каждая из переменных x, y, z, w.

Перем. 1 Перем. 2 Перем. 3 Перем. 4 Функция
??? ??? ??? ??? F
0 0 1 0
0 1 0
0 1 1 0

В ответе напишите буквы x, y, z, w в том порядке, в котором идут соответствующие им столбцы (сначала  — буква, соответствующая первому столбцу; затем  — буква, соответствующая второму столбцу, и т. д.). Буквы в ответе пишите подряд, никаких разделителей между буквами ставить не нужно.

Пример. Пусть задано выражение xy, зависящее от двух переменных x и y, и фрагмент таблицы истинности:

Переменная 1 Переменная 1 Функция
??? ??? F
0 1 0

Тогда первому столбцу соответствует переменная y, а второму столбцу соответствует переменная x. В ответе нужно написать: yx.

ЕГЭ 2023 по информатике 11 класс. Тренировочный вариант (задания и ответы)ЕГЭ 2023. Экзаменационная работа состоит из 27 заданий с кратким ответом, выполняемых с помощью компьютера. На выполнение экзаменационной работы по информатике отводится 3 часа 55 минут (235 минут).

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

Скачать тренировочный вариант ЕГЭ: Скачать

Файлы для варианта: Скачать 

Интересные задания:

4. Все заглавные буквы русского алфавита закодированы неравномерным двоичным кодом, в котором никакое кодовое слово не является началом другого кодового слова. Это условие обеспечивает возможность однозначной расшифровки закодированных сообщений. Известно, что слово СПОРТЛОТО кодируется как 10010100110011110000100. Какой код соответствует букве Л, если известно, что коды подбирались под минимальную длину заданного слова. Примечание: под условием Фано понимается такой метод кодирования, при котором ни одно кодовое слово не является началом другого кодового слова. Такой способ кодирования позволяет получить однозначно декодируемый код.

5. На вход алгоритма подаётся натуральное число N большее 4. Алгоритм строит по нему новое число R следующим образом. 1. Строится двоичная запись числа N. 2. Далее эта запись обрабатывается по следующему правилу:
а) если количество цифр в двоичной записи числа нечётное, то центральный бит двоичного представления инвертируется;
б) если количество цифр в двоичной записи числа чётное, то два центральных бита двоичного представления инвертируется; Например, для исходного числа 610 = 1102 результатом является число 1002 = 410, а для исходного числа 910 = 10012 результатом является число 11112 = 1510. Укажите минимальное число N, после обработки которого с помощью этого алгоритма получается число R, большее 100 и меньшее N. В ответе запишите это число в десятичной системе счисления.

7. Спутник каждую секунду делает снимок 20 на 7.6 километра. Размер пикселя на местности 0.65х0.65 метра. Цвет пикселя выбирается из палитры в 256 цветов. Оцените объем памяти (в МБ) для хранения одного изображения. Сжатие не производится. Ответ округлите до большего целого числа.

8. Определите количество десятизначных чисел, записанных в восьмеричной системе счисления, в записи которых ровно пять цифры 7 и при этом никакая нечетная цифра не стоит рядом с цифрой 7.

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

10. Текст произведения Ника Горькавого «Теория Катастроф» представлен в виде текстового файла. Откройте файл и определите, сколько бифуркационных технологий содержал итоговый список. В ответе запишите только число.

11. Вася решил закодировать персональные данные всех 1347 учеников всей школы. Для каждого ученика был сформирован ID из нескольких полей: номер класса, буква (а,б,в,г,д), пол, день и месяц рождения, номер имени по таблице имен (всего 103), номер фамилии по таблице фамилий (всего 733). Сперва Вася для каждого поля выделил минимальное количество байт. Затем попробовал закодировать все поля непрерывной битовой строкой и для каждого ID выделил минимальное количество байт. Сколько байт сэкономил Вася во втором случае для кодирования всех учеников школы?

Вам будет интересно:

ЕГЭ 2023 по информатике 11 класс. Новый тренировочный вариант №6 — №221107 (задания и ответы)


* Олимпиады и конкурсы
* Готовые контрольные работы
* Работы СтатГрад
* Официальные ВПР

Поделиться:

Тренировочный вариант и ответы с решением пробник ЕГЭ 2023 по информатике 11 класс ФИПИ состоит из 27 заданий с кратким ответом, выполняемых с помощью компьютера. На выполнение экзаменационной работы по информатике и ИКТ отводится 3 часа 55 минут (235 минут).

Скачать тренировочный вариант с ответами

Скачать файлы для варианта

Другие тренировочные варианты

ege_2023_informatika_23_02

Разбор варианта. ЕГЭ по Информатике 2023

1. На рисунке справа схема дорог Н-ского района изображена в виде графа, в таблице содержатся сведения о длинах этих дорог (в километрах). Так как таблицу и схему рисовали независимо друг от друга, то нумерация населённых пунктов в таблице никак не связана с буквенными обозначениями на графе. В таблице в левом столбце указаны номера пунктов, откуда совершается движение, в первой строке – куда. Определите минимально возможную длину пути BDE. Передвигаться можно только по указанным дорогам.

2. Логическая функция F задаётся выражением w ∨ (y → z) ∧ x. На рисунке приведён частично заполненный фрагмент таблицы истинности функции F, содержащий неповторяющиеся строки. Определите, какой столбец в таблице каждой переменной в выражении. В ответе напишите буквы x, y, z, w в том порядке, в котором идут соответствующие им столбцы. Буквы в ответе пишите подряд, никаких разделителей между буквами ставить не нужно.

3. В файле приведён фрагмент базы данных «Продукты» о поставках товаров в магазины районов города. База данных состоит из трёх таблиц. Таблица «Движение товаров» содержит записи о поставках товаров в магазины в течение первой декады августа 2021 г., а также информацию о проданных товарах. Поле Тип операции содержит значение Поступление или Продажа, а в соответствующее поле Количество упаковок внесена информация о том, сколько упаковок товара поступило в магазин или было продано в течение дня. Заголовок таблицы имеет следующий вид.

4. Все заглавные буквы русского алфавита закодированы неравномерным двоичным кодом, в котором никакое кодовое слово не является началом другого кодового слова. Это условие обеспечивает возможность однозначной расшифровки закодированных сообщений. Известно, что слово СПОРТЛОТО кодируется как 10010100110011110000100. Какой код соответствует букве Л, если известно, что коды подбирались под минимальную длину заданного слова.

5. На вход алгоритма подаётся натуральное число N большее 4. Алгоритм строит по нему новое число R следующим образом. 1. Строится двоичная запись числа N. 2. Далее эта запись обрабатывается по следующему правилу: а) если количество цифр в двоичной записи числа нечётное, то центральный бит двоичного представления инвертируется; б) если количество цифр в двоичной записи числа чётное, то два центральных бита двоичного представления инвертируется; Например, для исходного числа 610 = 1102 результатом является число 1002 = 410, а для исходного числа 910 = 10012 результатом является число 11112 = 1510. Укажите минимальное число N, после обработки которого с помощью этого алгоритма получается число R, большее 100 и меньшее N. В ответе запишите это число в десятичной системе счисления.

6. Исполнитель Черепаха действует на плоскости с декартовой системой координат. В начальный момент Черепаха находится в начале координат, её голова направлена вдоль положительного направления оси ординат, хвост опущен. При опущенном хвосте Черепаха оставляет на поле след в виде линии. В каждый конкретный момент известно положение исполнителя и направление его движения. У исполнителя существует 5 команд: Поднять хвост, означающая переход к перемещению без рисования; Опустить хвост, означающая переход в режим рисования; Вперёд n (где n – целое число), вызывающая передвижение Черепахи на n единиц в том направлении, куда указывает её голова; Назад n (где n – целое число), вызывающая передвижение в противоположном голове направлении; Направо m (где m – целое число), вызывающая изменение направления движения на m градусов по часовой стрелке, Налево m (где m – целое число), вызывающая изменение направления движения на m градусов против часовой стрелки. Запись Повтори k [Команда1 Команда2 … КомандаS] означает, что последовательность из S команд повторится k раз.

7. Спутник каждую секунду делает снимок 20 на 7.6 километра. Размер пикселя на местности 0.65х0.65 метра. Цвет пикселя выбирается из палитры в 256 цветов. Оцените объем памяти (в МБ) для хранения одного изображения. Сжатие не производится. Ответ округлите до большего целого числа.

8. Определите количество десятизначных чисел, записанных в восьмеричной системе счисления, в записи которых ровно пять цифры 7 и при этом никакая нечетная цифра не стоит рядом с цифрой 7.

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

10. Текст произведения Ника Горькавого «Теория Катастроф» представлен в виде текстового файла. Откройте файл и определите, сколько бифуркационных технологий содержал итоговый список. В ответе запишите только число.

11. Вася решил закодировать персональные данные всех 1347 учеников всей школы. Для каждого ученика был сформирован ID из нескольких полей: номер класса, буква (а,б,в,г,д), пол, день и месяц рождения, номер имени по таблице имен (всего 103), номер фамилии по таблице фамилий (всего 733). Сперва Вася для каждого поля выделил минимальное количество байт. Затем попробовал закодировать все поля непрерывной битовой строкой и для каждого ID выделил минимальное количество байт. Сколько байт сэкономил Вася во втором случае для кодирования всех учеников школы?

12. Исполнитель Редактор получает на вход строку цифр и преобразовывает её. Редактор может выполнять две команды, в обеих командах v и w обозначают цепочки цифр) А) заменить(v, w). Эта команда заменяет в строке первое слева вхождение цепочки v на цепочку w. Например, выполнение команды заменить(111, 27) преобразует строку 05111150 в строку 0512750. Если в строке нет вхождений цепочки v, то выполнение команды заменить(v, w) не меняет эту строку. Б) нашлось(v). Эта команда проверяет, встречается ли цепочка v в строке исполнителя Редактор. Если она встречается, то команда возвращает логическое значение «истина», в противном случае возвращает значение «ложь». Строка исполнителя при этом не изменяется. Цикл выполняется, пока условие истинно.

13. На рисунке представлена схема дорог, связывающих города А, Б, В, Г, Д, Е, Ж, З, И, К, Л. По каждой дороге можно двигаться только в одном направлении, указанном стрелкой. Определите количество различных путей ненулевой длины, которые начинаются и заканчиваются в городе Е, не содержат этот город в качестве промежуточного пункта и проходят через промежуточные города не более одного раза.

14. Дано выражение 12×4536 + 1×12345 В записи чисел переменной x обозначена неизвестная цифра из допустимого алфавита для указанных систем счисления. Определите наибольшее значение x, при котором значение данного арифметического выражения кратно 13. Для найденного значения x вычислите частное от деления значения арифметического выражения на 13 и укажите его в ответе в десятичной системе счисления.

15. На числовой прямой даны два отрезка: B = [23;37] и C = [41;73]. Укажите наименьшую длину такого отрезка А, для которого логическое выражение ¬((¬(x ∈ B) → (x ∈ C)) → (x ∈ A)) ложно (т.е. принимает значение 0) при любом значении переменной x.

16. Обозначим частное от деления натурального числа a на натуральное число b как a//b, а остаток как a%b. Например, 17//3 = 5, 17%3 = 2. Алгоритм вычисления значения функции F(n), где n – целое неотрицательное число, задан следующими соотношениями: F(n) = n при n < 10; F(n) = F(n//10) + F(n%10) , если 10 ⩽ n < 1000; F(n) = F(n//1000) — F(n%1000) , если n ⩾ 1000. Определите количество значений n, не превышающих 106 , для которых F(n) = 0?

17. В файле содержится последовательность целых чисел по модулю менее 10000. а) рассматриваются только пары в которых строго одно число оканчивается на 7. б) квадрат разности элементов пары меньше модуля разности квадратов хотя бы одной пары (отвечающей условию а). В ответе запишите два числа: сначала количество найденных пар, затем минимальный квадрат разности. В данной задаче под парой подразумевается два идущих подряд элемента последовательности.

18. Квадрат разлинован на N×N клеток (1 < N < 30). Роботу нужно перейти через поле с севера (верхняя строка) на юг (нижняя строка). Он может начать переход с любой клетки первой строки и закончить на любой клетке нижней строки. С каждым шагом Робот переходит в следующую строку и может за одно перемещение попасть в одну из трех клеток следующей строки (на клетку прямо вниз или на одну из клеток слева/справа от неё). Ходы только влево или вправо (без смены строки), назад (в предыдущую строку) и за границы поля запрещены. В каждой клетке поля лежит монета достоинством от 1 до 100. Робот собирает все монеты по пройденному маршруту. Определите максимальную возможную денежную сумму и количество монет с чётным значением, которую может собрать Робот, пройдя с северной границы поля (сверху) до южной границы поля (снизу). В ответе укажите два числа: сначала максимальную сумму, затем количество монет с четным значением по маршруту с максимальной суммой.

19. Два игрока, Петя и Ваня, играют в следующую игру. Перед игроками лежат две кучи камней. Игроки ходят по очереди, первый ход делает Петя. За один ход игрок может добавить в меньшую кучу один или три камня. Изменять количество камней в большей куче не разрешается. Игра завершается, когда количество камней в кучах становится равным. Победителем считается игрок, сделавший последний ход, то есть первым сравнявшим количество камней в двух кучах. Игроки играют рационально, т.е. без ошибок. В начальный момент в первой куче было 13 камней, а во второй – S камней, 1 ≤ S ≤ 23? Укажите такое минимальное значение S, при котором Петя не может выиграть за один ход, но при любом ходе Пети Ваня может выиграть своим первым ходом.

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

21. Для игры, описанной в задании 19, найдите два значения S, при котором одновременно выполняются три условия: – у Вани есть выигрышная стратегия, позволяющая ему выиграть первым или вторым ходом при любой игре Пети; – у Вани нет стратегии, которая позволит ему гарантированно выиграть первым ходом; – Петя может выбирать, каким ходом выиграет Ваня;

22. В файле содержится информация о совокупности N вычислительных процессов, которые могут выполняться параллельно или последовательно. Будем говорить, что процесс B зависит от процесса A, если для выполнения процесса B необходимы результаты выполнения процесса A. В этом случае процессы могут выполняться только последовательно. Информация о процессах представлена в файле в виде таблицы. В первом столбце таблицы указан идентификатор процесса (ID), во втором столбце таблицы – время его выполнения в миллисекундах, в третьем столбце перечислены с разделителем «;» ID процессов, от которых зависит данный процесс. Если процесс является независимым, то в таблице указано значение 0. Определите максимальное количество процессов, которые завершатся за 73 мс, при условии, что все независимые друг от друга процессы могут выполняться параллельно.

23. У исполнителя Кузнечик есть 4 команды: 1. Прибавить 1 2. Прибавить 3 3. Вычесть 1 4. Вычесть 3 Сколько существует программ, для которых при исходном числе 42 результатом будет являться число 42, при этом траектория вычисления содержит только числа от 40 до 49, притом не более 1 раза, т.е. без повторов.

24. Текстовый файл содержит строку из десятичных цифр и букв латинского алфавита. Найдите минимальную длину подстроки включающей все шестнадцатеричные цифры. Строка может включать повторяющиеся цифры и другие символы. В ответе укажите найденную длину..

25. Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:  символ «?» означает ровно одну произвольную цифру;  символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность. Например, маске 123*4?5 соответствуют числа 123405 и 12300405. Найдите все натуральные числа, не превышающие 1010, которые соответствуют маске 1?1?1?1*1 и при этом без остатка делятся на 2023, а сумма цифр числа равна 22. В ответе запишите все найденные числа в порядке возрастания. Количество строк в таблице для ответа избыточно.

26. В сетевом приложении реализован кэш размером V МБ для файлов размером от 1 до 999 МБ. Пользователи запрашивают файлы в порядке, заданном в исходном файле. Алгоритм кэширования сперва заполняет весь кэш. Для размещение следующего файла кэш нужно освободить. Для этого из кэша удаляется один подходящий файл, так чтобы свободное место было минимальным и достаточным для размещения нового файла. Если удаление даже самого большого файла не освобождает необходимого места, то удаляется самый большой файл и алгоритм рекурсивно повторяется, пока не будет достаточного места для нового файла.

27. Дана последовательность натуральных чисел. Расстояние между элементами последовательности – это разность их порядковых номеров. Например, если два элемента стоят в последовательности рядом, расстояние между ними равно 1, если два элемента стоят через один – расстояние равно 2 и т. д. Назовём тройкой любые три числа из последовательности, расстояние между которыми не меньше 17. Необходимо определить количество троек, в которых сумма чисел в тройке делится без остатка на 7717.

ПОДЕЛИТЬСЯ МАТЕРИАЛОМ

Примерное время на чтение статьи: 9 минут

Модуль school, встроенный в последние версии PascalABC.Net, содержит реализацию алгоритмов, часто встречающихся в школьных задачах. Их использование сильно сокращает программный код и упрощает решение задачи. Каждая реализация в основном имеет два формата – для вызова в виде функции и для записи в точечной нотации. Рассмотрим типовые для номера 25 задачи ЕГЭ и их решение двумя способами: без использования функций модуля school и с его помощью.

Нахождение делителей числа

При нахождении нетривиальных делителей натурального числа ? (которые отличны от 1 и самого числа ?) часто предлагается перебирать числа из диапазона от 2 до [?/2] (скобки [] обозначают операцию взятия целой части числа), поскольку на интервале от [?/2]+1 до ?−1 у числа ? нет делителей. При таком подходе для нахождения делителей, например ?=10000 придется перебрать 4999 чисел (от 2 до 5000).

Перебор делителей числа ? можно оптимизировать, учитывая, что наименьший из пары делителей, таких что ?∗?=?, не превышает квадратного корня из ?; нужно только аккуратно обработать случай, когда число ? представляет собой квадрат целого числа. В этом случае для нахождения делителей, например ?=10000 придется перебрать уже 99 делителей (от 2 до 100=sqrt(10000)).

Получается, что для определения количества делителей числа ? достаточно перебирать только числа от 2 до √N; если очередной делитель ? – это точный квадратный корень, добавляем в список делителей только один делитель, если нет – то добавляем пару делителей (?, [?/?]). Потом (или сразу) необходимо добавить к списку делителей единицу и само число ?.

PascalABC модуль school: список делителей числа

В PascalABC.Net для получения списка ????, содержащего все натуральные делители числа ?, включая 1 и ?, могут быть использованы:

  • функция ????????(?), которая в зависимости от типа ?, возвращает значение типа ????<???????> или ????<???64>;
  • расширение ?.???????? – делает то же самое.

Задача

Вывести все делители натурального числа ?.

Способ 1 (без school)

## 
  var n := ReadInteger;
  var lstDel := Lst(1);          // в список делителей добавили 1
  if n > 1 then lstDel.add(N); // числа от 1 имеют два делителя: 1 и N
  var lim := round(sqrt(N));
  for var d := 2 to lim do 
      if n.Divs(d)
      then if d = sqrt(N)
           then lstDel.add(d)
           else begin
                   lstDel.Add(d);
                   lstDel.Add(N div d)
                 end;
  lstDel.Sort;
  println('Делители:', lstDel);  
  println('Количество делителей:', lstDel.Count);

Способ 2 (используя модуль school)

## 
uses school;
  var n := ReadInteger;
  println('Делители:', n.Divisors); 

Разложение числа в произведение простых множителей

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

PascalABC модуль school: разложение числа ? на простые множители

В PascalABC.Net для получения списка ????, содержащего все простые делители числа ?, могут быть использованы:

  • функция ?????????(?) – выполняет разложение числа ? типа ??????? или ???64 на простые множители, результат помещается в список ????;
  • расширение ?.????????? делает то же самое.

Задача

Разложить натуральное число ? в произведение простых множителей.

Рассмотрим реализацию решения задачи без использования функции ?????????(?) модуля ??ℎ???, а затем с её использованием.

Способ 1 (без school)

##
  var n := ReadInteger;
  var ans := n.ToString + ' = ';
  var prime := true;
  var lstPrimeDel := new List <integer>;
  for var d := 2 to n do
    begin
      while n mod d = 0 do begin
        lstPrimeDel.Add(d);
        prime := false;
        n := n div d
      end;
      if n = 1 
      then break
      else if (d*d>n) and prime
           then break      
    end;
  if prime then lstPrimeDel.Add(n);
  ans += lstPrimeDel.JoinToString(' * ');
  ans.Println;

Способ 2 (используя модуль school)

##
uses school;
  var n := ReadInteger;
  var rez := Factorize(n);
  var ans := n.ToString + ' = ' + rez.JoinToString(' * ');
  ans.Println;

Другие полезные функции модуля school

PascalABC модуль school: простые числа

  • функция ??????(?) – возвращает список ????, содержащий простые числа на отрезке [2; ?];
  • функция ???????????(?) – возвращает список ????, содержащий первые ? простых чисел;
  • расширение ?.??????? – возвращает ????, если ? – простoе и ????? в противном случае. Переменная ? должна быть типа ??????? или ???64.

PascalABC модуль school: нахождение НОД и НОК пары чисел a и b

  • функция НОД(?,?) – возвращает НОД типа ??????? или ???64;
  • расширение ?.НОД – возвращает НОД для кортежа ?=(?,?) с данными типа ??????? или ???64;
  • функция НОК(?,?) – возвращает НОК типа ???64;
  • функция НОДНОК(?,?) – возвращает кортеж вида (НОД,НОК) для пары чисел ? и ? типа ???64.
##
uses School;
    var (n, m) := ReadInteger2;
    НОД(n, m).Println;
    НОК(n, m).Println;

PascalABC модуль school: список цифр числа

Получение списка ????, содержащего все цифры числа ? в порядке их следования слева направо:

  • функция ??????(?) – возвращает список типа ????<???64>;
  • расширение ?.?????? делает то же, возвращая список типа ????<???????> или ????<???64>.
##
    uses school;
    var n := ReadInteger;
    n.Digits.Sum.print;

Решение типовых задач ЕГЭ

Демо к ЕГЭ 2021

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

Ответ:

3 58153
7 24923
59 2957
13 13421
149 1171
5 34897
211 827
2 87251

Способ 1 (без school)

##
  var (a, b) := (174457, 174505);
  var maxd: integer;
  for var n := a to b do
  begin
    var kd := 0;
    for var d := 2 to n div 2 do
      if n mod d = 0 
      then begin
             kd += 1;
             maxd := d;
           end;
      if kd = 2 then println(n div maxd, maxd)
  end;

Способ 2 (используя модуль school и лямбда-выражения)

##
uses school;
  (174457..174505)         // возврати все числа из диапазона
  .Select(n → Divizors(n)) // получи (Select) из n все его делители
  .Where(L → L.Count = 4)  // оставь те, у кого 4 делителя
  .Foreach(L → Println(L[1], L[2])) // для тех, что остались, выведи первые 2 

Статград вариант ИН2010103

Назовём нетривиальным делителем натурального числа его делитель, не равный единице и самому числу. Например, у числа 6 есть два нетривиальных делителя: 2 и 3. Найдите все натуральные числа, принадлежащие отрезку [123456789; 223456789] и имеющие ровно три нетривиальных делителя. Для каждого найденного числа запишите в ответе его наибольший нетривиальный делитель. Ответы расположите в порядке возрастания.

Ответ: 1225043; 1295029; 1442897

Способ 1 (без school)

##
  var (a, b) := (123489567, 223456789);
  var ans := new List<integer>;  //список наибольших нетривиальных делителей
  for var n := a to b do
    if trunc(sqrt(n))=sqrt(n) then
      begin
        var lstDel := new List <integer>; //список нетривиальных делителей N
        var lim := round(sqrt(N));
        for var d := 2 to lim do 
          begin
            if n.Divs(d)
            then if d = sqrt(N)
                 then lstDel.add(d)
                 else begin
                        lstDel.Add(d);
                        lstDel.Add(N div d)
                      end;
            if lstDel.Count > 3 then break;
          end;
        if lstDel.Count = 3 
        then begin
               lstDel.Sort;
               ans.Add(lstDel.Last);
             end;
      end;
  ans.Sort;
  ans.Println;

Способ 2 (используя модуль school)

##
uses school;
    var a := 123489567;
    var b := 223456789;
    var ans := new List<integer>; 
    for var n := a to b do
      if trunc(sqrt(n)) = sqrt(n) then
      begin
        var s := Divisors(n).RemoveLast;
        if s.Count - 1 = 3  then ans.Add(s.last)
      end;
    ans.Sort;
    ans.Println;

Способ 3 (используя модуль school и лямбда-выражения)

##
uses school;
    (123489567..223456789)
    .Where(x → trunc(sqrt(x))=sqrt(x))
    .Select(x → divisors(x))
    .Where(L → L.count = 5)
    .foreach(L → print(L[3])); 

Статград вариант ИН2010201

Рассмотрим произвольное натуральное число, представим его всеми возможными способами в виде произведения двух натуральных чисел и найдём для каждого такого произведения разность сомножителей. Например, для числа 16 получим: 16=16∗1=8∗2=4∗416=16∗1=8∗2=4∗4, множество разностей содержит числа 15, 6 и 0. Найдите все натуральные числа, принадлежащие отрезку [1000000;2000000], у которых составленное описанным способом множество разностей будет содержать не меньше трёх элементов, не превышающих 100. В ответе перечислите найденные числа в порядке возрастания.

Ответ: 1113840; 1179360; 1208844; 1499400

Способ (без school)

##
  var a := 1000000;
  var b := 2000000;
  for var n := a to b do 
  begin
    var count := n - 1 <= 100? 1 : 0;
    var lim := trunc(sqrt(n));
    for var d := 2 to lim do 
    begin
      if n mod d = 0
      then if abs(n div d - d) <=100
           then count += 1
    end;
    if count >= 3 then 
      println(n);
  end;

Способ 2 (используя модуль school)

##
uses school;
  var a := 1000000;
  var b := 2000000;
  for var n := a to b do 
  begin
    var s := Divisors(n);
    var lst := new List<integer>;
    for var i := s.Count - 1 downto (s.count div 2) do 
      lst.add(s[i] - s[s.Count - i - 1]);
    if lst.Count(x → x <= 100) >= 3 then 
      println(n);
  end;

Статград вариант ИН2010301 (Решу ЕГЭ № 33527)

Найдите все натуральные числа, принадлежащие отрезку [101000000;102000000], у которых ровно три различных чётных делителя. В ответе перечислите найденные числа в порядке возрастания.

Ответ: 101075762; 101417282; 101588258; 101645282

Способ (без school)

##
var (a, b) := (101000000, 102000000);
var n := a;
while n <= b do 
  begin
    var keven := 1;  //само число уже чётно и оно делитель себя 
    var lim := trunc(sqrt(n));
    for var d := 2 to lim  do 
      begin
        if n mod d = 0 
        then begin
               if d mod 2 = 0 then keven+=1;
               if (d <> lim) //если d=lim, то будет чётное число чётных делителей
               then if (n div d) mod 2 = 0 then keven += 1;
             end;
        if keven > 3 then break;
      end;
    if keven = 3 then println(n);
    n += 2;  //перебираем только чётные
  end;

Способ 2 (используя модуль school)

##
uses school;
    (101000000..102000000)
    .Where(n → Divisors(n).Count(x → x.IsEven)=3)
    .Println;

P.S. Если Вы заметили ошибку, буду благодарна за комментарии.

Понравилась статья? Поделить с друзьями:

Новое и интересное на сайте:

  • Решу егэ информатика 18553
  • Решу егэ информатика 15915
  • Решу егэ информатика 18496
  • Решу егэ информатика 15846
  • Решу егэ информатика 18490

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

    ;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: