ЕГЭ-25. Обработка целых чисел. Создание собственной программы

65 задачвместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы: - символ «?» означает ровно одну произвольную цифру; - символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность. Среди натуральных чисел, не превышающих 2·109, найдите все числа, соответствующие маске 1*586?6, запись которых в системе счисления с основанием 7 представляет собой палиндром (не меняется при перестановке цифр в обратном порядке). В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце — суммы цифр их семеричной записи.
Назовём нетривиальным делителем натурального числа его делитель, не равный единице и самому числу. Найдите все натуральные числа, принадлежащие отрезку [1523467; 4157812] и имеющие ровно три нетривиальных делителя. Для каждого найденного числа запишите в ответе само число и его наибольший нетривиальный делитель. Найденные числа расположите в порядке возрастания.
Рассматриваются целые числа, принадлежащих числовому отрезку [485617; 529678], которые представляют собой произведение трёх различных простых нетривиальных делителей, оканчивающихся на одну и ту же цифру. В ответе запишите количество таких чисел и такое из них, для которого разность наибольшего и наименьшего простых делителей минимальна.
Пусть М – сумма минимального и максимального простых натуральных делителей целого числа, не считая самого числа. Если таких делителей у числа нет, то значение М считается равным нулю. Напишите программу, которая перебирает целые числа, большие 5 400 000, в порядке возрастания и ищет среди них такие, для которых М больше 60 000 и является палиндромом, т.е. одинаково читается слева направо и справа налево. В ответе запишите первые  пять найденных чисел в порядке возрастания (каждое число в отдельной строке), справа от каждого числа (через пробел) – соответствующее  значение М.
Пусть R – сумма всех различных натуральных делителей целого числа. Например, для числа 20 имеем R = 1 + 2 + 4 + 5 + 10 + 20 = 42. Напишите программу, которая перебирает целые числа, бо́льшие 500 000, в порядке возрастания и ищет среди них такие, для которых значение R оканчивается на цифру 6. В ответе запишитепервые пять найденных чисел в порядке возрастания (каждое число в отдельной строке), а справа от каждого числа через пробел запишите соответствующее этому числу значение R.
Пусть М – сумма минимального и максимального натуральных делителей целого числа, не считая единицы и самого числа. Если таких делителей у числа нет, то считаем значение М равным нулю. Например, для числа 20 имеем М = 2 + 10 = 12. Напишите программу, которая перебирает целые числа, большие 700 000, в порядке возрастания и ищет среди них такие, для которых М оканчивается на 4. В ответе запишите первые пять найденных чисел в порядке возрастания (каждое число в отдельной строке), через пробел от найденного числа запишите соответствующие ему значение М.
Напишите программу, которая перебирает целые числа, большие 1 125 000, в порядке возрастания и ищет среди них такие, у которых есть натуральный делитель, оканчивающийся на цифру 7 и не равный ни самому числу, ни числу 7. В ответе запишите первые пять найденных чисел в порядке возрастания, справа от каждого числа (через пробел) запишите наименьший делитель этого числа, оканчивающийся цифрой 7, не равный ни самому числу, ни числу 7.
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
— символ «?» означает ровно одну произвольную цифру;
— символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность.
Например, маске 123*4?5 соответствуют числа 123405 и 12300425.
Найдите все натуральные числа, не превышающие 109, которые соответствуют маске ?13*79*9 и при этом без остатка делятся на 7521. В ответе запишите все найденные числа, справа от каждого числа (через пробел) – сумму его цифр. Отсортируйте числа в порядке возрастания суммы цифр, а при одинаковой сумме цифр – по возрастанию самого числа.

Каждое число и его сумму цифр записывайте в отдельной строке.
Пусть M(N) – сумма двух наибольших различных натуральных делителей натурального числа N, не считая самого числа и единицы. Если у числа N меньше двух таких делителей, то M(N) считается равным 0. Найдите все такие числа N, что 256 123 000 ≤ N ≤ 256 234 000, а десятичная запись числа M(N) заканчивается на 1234. В ответе перечислите все найденные числа N, справа от каждого запишите соответствующее значение M. Данные отсортируйте по убыванию значений M.

Каждую пару N M записывайте в отдельной строке.
Ты тренер покемонов и хочешь предсказать общую силу покемона (Total) на основе его характеристик!

Датасет содержит информацию о 721 покемоне с характеристиками:​

  • HP — очки здоровья

  • Attack — сила атаки

  • Defense — защита

  • Sp. Atk — специальная атака

  • Sp. Def — специальная защита

  • Speed — скорость

  • Total — общая сила (сумма всех характеристик) — это наша цель!

  • Type 1, Type 2 — типы покемона (Fire, Water, Grass и т.д.)​

  • Generation — поколение (1-6)​

  • Legendary — легендарный ли покемон (True/False)


Выполни следующее

  1. Загрузи и подготовь данные
  2. Раздели данные на обучающую и тестовую выборки:
    Параметры разделения:
    • разметр тестовой выборки равен 20% (~144 покемона)
    • random_state=42 
  3. Обучи модель
  4. Сделай предсказания на тестовой выборке
  5. Вычисли метрики качества (R2, MAE, RMSE)
  6. Выведи на экран значение каждой метрики (с точностью до 2-х знаков после запятой): в первой строке выведи значение R2 , во второй - MAE, в третьей - RMSE.

Для тестирования своей программы можно скачать датасет по этой ссылке
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:

–      символ «?» означает ровно одну произвольную цифру;

–      символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать
и пустую последовательность.

Например, маске 123*4?5 соответствуют числа 123405 и 12300405.

Среди натуральных чисел, не превышающих 109, найдите все числа, соответствующие маске 12345?7?8, делящиеся на число 31
без остатка.

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

Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
–      символ «?» означает ровно одну произвольную цифру;
–      символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать
и пустую последовательность.
Например, маске 123*4?5 соответствуют числа 123405 и 12300405.
Среди натуральных чисел, не превышающих 109, найдите все числа, соответствующие маске 1234?57?8, делящиеся на число 17
без остатка.
В ответе запишите все найденные числа в порядке возрастания, а затем через один пробел от каждого числа соответствующие им результаты деления этих чисел на 17.
 
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
–      символ «?» означает ровно одну произвольную цифру;
–      символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать
и пустую последовательность.
Например, маске 123*4?5 соответствуют числа 123405 и 12300405.
Среди натуральных чисел, не превышающих 109, найдите все числа, соответствующие маске 12345?7?8, делящиеся на число 37
без остатка.
В ответе запишите все найденные числа в порядке возрастания, а через пробел от каждого числа - соответствующие им результаты деления этих чисел на 37.
Количество строк в таблице для ответа избыточно.
 
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:

–      символ «?» означает ровно одну произвольную цифру;

–      символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать
и пустую последовательность.

Например, маске 123*4?5 соответствуют числа 123405 и 12300405.

Среди натуральных чисел, не превышающих 109, найдите все числа, соответствующие маске 1234?57?8, делящиеся на число 19
без остатка.

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

 

Напишите программу, которая перебирает целые числа, большие 500 000, в порядке возрастания и ищет среди них такие, у которых есть натуральный делитель, оканчивающийся на цифру 8 и не равный ни самому числу, ни числу 8. Вывести первые пять найденных чисел и для каждого наименьший делитель, оканчивающийся на цифру 8, не равный ни самому числу, ни числу 8.
Формат вывода: для каждого из пяти таких найденных чисел в отдельной строке сначала выводится само число, затем через один пробел – значение наименьшего делителя, оканчивающегося на цифру 8, не равного ни самому числу, ни числу 8.
Строки выводятся в порядке возрастания найденных чисел.
 
Напишите программу, которая перебирает целые числа, большие 700 000, в порядке возрастания и ищет среди них такие, у которых есть натуральный делитель, оканчивающийся на цифру 9 и не равный ни самому числу, ни числу 9. Вывести первые пять найденных чисел и для каждого наименьший им делитель, оканчивающийся на цифру 9, не равный ни самому числу, ни числу 9.
Формат вывода: для каждого из пяти таких найденных чисел
в отдельной строке сначала выводится само число, затем через один пробел – значение наименьшего делителя, оканчивающегося на цифру 9, не равного ни самому числу, ни числу 9.
Строки выводятся в порядке возрастания найденных чисел.
 
Пусть M – сумма минимального и максимального натуральных делителей целого числа, не считая единицы и самого числа. Если таких делителей у числа нет, то считаем значение M равным нулю.
Напишите программу, которая перебирает целые числа, большие 900 000, в порядке возрастания и ищет среди них такие, для которых значение M оканчивается на 8. Программа должна найти и вывести первые пять таких чисел и соответствующие им значения M.
Формат вывода: для каждого из пяти таких найденных чисел в отдельной строке сначала выводится само число, затем через один пробел –
значение М.
Строки выводятся в порядке возрастания найденных чисел.
 
Например, для числа 20 М = 2 + 10 = 12.

 
Пусть M – сумма минимального и максимального натуральных делителей целого числа, не считая единицы и самого числа. Если таких делителей у числа нет, то считаем значение M равным нулю.
Напишите программу, которая перебирает целые числа, большие 800 000, в порядке возрастания и ищет среди них такие, для которых значение M оканчивается на 6. Вывести первые пять найденных чисел и соответствующие им значения M.
Формат вывода: для каждого из пяти таких найденных чисел в отдельной строке сначала выводится само число, затем через один пробел –
значение М.
Строки выводятся в порядке возрастания найденных чисел.
 
Например, для числа 20 М = 2 + 10 = 12.
 
Напишите программу, которая перебирает целые числа, бо?льшие 600 000, в порядке возрастания и ищет среди них такие, у которых есть натуральный делитель, оканчивающийся на цифру 9 и не равный ни самому числу, ни числу 9. Вывести первые пять найденных чисел и для каждого минимальный делитель, оканчивающийся на цифру 9, не равный ни самому числу, ни числу 9.
Формат вывода: для каждого из пяти таких найденных чисел в отдельной строке сначала выводится само число, затем через один пробел – значение наименьшего делителя, оканчивающегося на цифру 9, не равного ни самому числу, ни числу 9.
Строки выводятся в порядке возрастания найденных чисел.

 
Пусть M  сумма минимального и максимального натуральных делителей целого числа, не считая единицы и самого числа. Если таких делителей у числа нет, то считаем значение M равным нулю.
Напишите программу, которая перебирает целые числа, бо?ьшие 700 000, в порядке возрастания и ищет среди них такие, для которых значение M оканчивается на 8. Вывести первые пять найденных чисел и соответствующие им значения M.
Формат вывода: для каждого из пяти таких найденных чисел в отдельной строке сначала выводится само число, затем через один пробел от числа - 
значение М.
Строки выводятся в порядке возрастания найденных чисел.
 
Например, для числа 20 М = 2 + 10 = 12.
 
Поделиться
Класснуть