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

379 задачвместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
— символ «?» означает ровно одну произвольную цифру;
— символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность.
Например, маске 123*4?5 соответствуют числа 123405 и 12300425.
Найдите все натуральные числа, не превышающие 109, которые соответствуют маске ?13*79*9 и при этом без остатка делятся на 7521. В ответе запишите все найденные числа, справа от каждого числа (через пробел) – сумму его цифр. Отсортируйте числа в порядке возрастания суммы цифр, а при одинаковой сумме цифр – по возрастанию самого числа.

Каждое число и его сумму цифр записывайте в отдельной строке.
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
— символ «?» означает ровно одну произвольную цифру;
— символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность.
Например, маске 123*4?5 соответствуют числа 123405 и 12300425.
Найдите все натуральные числа, не превышающие 109, которые соответствуют маске ?05*22*3 и при этом без остатка делятся на 8587. В ответе запишите все найденные числа, справа от каждого числа (через один пробел) – сумму его цифр. Отсортируйте числа в порядке возрастания суммы цифр, а при одинаковой сумме цифр – по возрастанию самого числа.

Каждое число и его сумму цифр запиывайте в отдельной строке
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
— символ «?» означает ровно одну произвольную цифру;
— символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать и пустую последовательность.
Например, маске 123*4?5 соответствуют числа 123405 и 12300425. 
Среди натуральных чисел, не превышающих 1010, найдите все числа, соответствующие маске 54?1?3*7, делящиеся на 18579 без остатка.

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

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

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

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

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

Ты — data scientist в музыкальной компании! Твоя задача — понять, станут ли новые песни хитами, ещё до их релиза. У тебя есть реальный датасет из Spotify с характеристиками тысяч песен.

Сможешь ли ты создать модель, которая предскажет, попадут ли треки в топ? 

В датасете есть интересные музыкальные характеристики:

  • danceability — танцевальность (0.0-1.0) — насколько под это можно двигаться

  • energy — энергичность (0.0-1.0) — насколько трек агрессивный и быстрый

  • loudness — громкость (в децибелах, обычно от -60 до 0)

  • speechiness — разговорность (0.0-1.0) — сколько в треке слов (рэп будет высоким)

  • acousticness — акустичность (0.0-1.0) — есть ли живые инструменты

  • instrumentalness — инструментальность (0.0-1.0) — есть ли вокал (чем выше, тем меньше слов)

  • liveness — живость (0.0-1.0) — записано ли вживую с публикой

  • valence — позитивность (0.0-1.0) — насколько трек весёлый (грустный vs радостный)

  • tempo — темп (удары в минуту, обычно 50-200)

  • duration_ms — длительность в миллисекундах

  • target — хит (1) или нет (0)

Напиши программу, которая:

  1. Загружает датасет из файла CSV

  2. Готовит данные (выбирает нужные признаки и делит на train/test)

  3. Обучает модель логистической регрессии

  4. Запрашивает у пользователя:

    • Количество треков для проверки

    • Все характеристики каждого трека (10 параметров)

  5. Предсказывает для каждого введённого трека:

    • Станет ли он хитом (yes/no)

    • Вероятность успеха в процентах

 

Ты тренер покемонов и хочешь предсказать общую силу покемона (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.
 
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
–      символ «?» означает ровно одну произвольную цифру;
–      символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать
и пустую последовательность.
Например, маске 123*4?5 соответствуют числа 123405 и 12300405.
Среди натуральных чисел, не превышающих 109, найдите все числа, соответствующие маске 12345?7?8, делящиеся на число 23 без остатка.
В ответе запишите в первом столбце таблицы все найденные числа в порядке возрастания, а во втором столбце  соответствующие им результаты деления этих чисел на 23.
 
Назовём маской числа последовательность цифр, в которой также могут встречаться следующие символы:
–    символ «?» означает ровно одну произвольную цифру;
–    символ «*» означает любую последовательность цифр произвольной длины; в том числе «*» может задавать
и пустую последовательность.
Например, маске 123*4?5 соответствуют числа 123405 и 12300405.
Среди натуральных чисел, не превышающих 108, найдите все числа, соответствующие маске 123*678, делящиеся на 13 без остатка.
В ответе запишите все найденные числа в порядке возрастания, а затем через один пробел от каждого числа – соответствующий ему результат деления этого числа на 13.
 
Поделиться
Класснуть