Информатика

2 621 задачавместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.

Артём играет в игру, где каждый день его монеты удваиваются. Сейчас у него Y монет, и он хочет узнать, сколько монет будет у него каждый день, пока он не накопит хотя бы Z монет.​

Напишите программу, которая выводит количество монет на конец каждого дня (после удвоения).​

Входные данные:

  • Y — начальное количество монет

  • Z — целевое количество монет

Выходные данные: количество монет на конец каждого дня (каждое число на новой строке)

В Discord-канале провели голосование за любимого персонажа из игры Brawl Stars. Участники голосовали числами от 1 до 5, где каждое число — это конкретный персонаж:

  • 1 — Шелли

  • 2 — Кольт

  • 3 — Спайк

  • 4 — Леон

  • 5 — Crow

Напишите программу, которая запрашивает у пользователя информацию (см входные данные) и подсчитывает, сколько человек проголосовало за Леона
 

Входные данные:

  • Первая строка: N — количество голосов (N <= 20)

  • Следующие N строк: по одному числу от 1 до 5 — голос участника

Выходные данные: количество голосов за Леона 

Артём играет в Standoff 2 и записывает результаты матчей: 1 — победа, 0 — поражение.

Напишите программу, которая запрашивает у пользователя необходимые данные (см входные данные) и подсчитывает количество побед.​

Входные данные:

  • Первая строка: N — количество матчей (N <= 20)

  • Следующие N строк: по одному числу (0 или 1) — результат каждого матча

Выходные данные: количество побед

На Discord-сервере игрок получает VIP-статус, если количество его сообщений кратно 25 и при этом не менее 300.​

Напишите программу, которая запрашивает у пользователя количество сообщений и определяет, получит ли игрок VIP-статус.

Входные данные: количество сообщений (целое положительное число)

Выходные данные:

  • VIP — если количество сообщений кратно 25 и не менее 300

  • NO — в остальных случаях

В магазине Roblox действует специальная скидка: игрок получает её, если сумма его покупки кратна 50 и при этом не менее 200 робуксов.​

Напишите программу, которая запрашивает у пользователя сумму покупки и определяет, получит ли игрок скидку.

Входные данные: сумма покупки в робуксах (целое положительное число)

Выходные данные:

  • YES — если сумма кратна 50 и не менее 200

  • NO — в остальных случаях

В игре Brawl Stars игрок получает супер-бонус, если количество его трофеев кратно 100 и при этом не менее 500.​

Напишите программу, которая запрашивает у пользователя количество трофеев и определяет, получит ли игрок супер-бонус.

Входные данные: количество трофеев (целое положительное число)

Выходные данные:

  • YES — если количество его трофеев кратно 100 и при этом не менее 500.​

  • NO — в остальных случаях

Артём собирает скины для оружия в Standoff 2. Каждый скин обозначается символом пистолета: |\_

Напишите программу, которая запрашивает у пользователя целое неотрицательное число N и выводит N скинов в одну строку.

Входные данные: число N

Выходные данные: N скинов (без пробелов)

Артём ставит лайки на видео в ТикТок. Каждый лайк выглядит как сердечко со слешем: <\3

Напишите программу, которая запрашивает у пользователя целое неотрицательное число N b выводит N лайков в одну строку.

Входные данные: число N

Выходные данные: N лайков в одну строку (без пробелов)

Даша в Roblox строит город и ей нужно построить N домиков. Каждый домик выглядит как крыша: /\

Напишите программу, которая запрашивает у пользователя целое неотрицательное число N и чвыводит N домиков в одну строку.

Входные данные: число N

Выходные данные: N домиков (без пробелов)

Классификация пациентов по температуре

Дана модель логистической регрессии для предсказания вероятности болезни пациента на основе его температуры тела. Модель использует сигмоидную функцию:
 \(p =\frac{1}{1+e^{-(w \cdot t + b)}}\)
где t — температура пациента, w и b — параметры модели.​

Пациент считается больным, если вероятность болезни P≥0.5.​


Формат входных данных

  • В первой строке через пробел вводятся два вещественных числа: w и b — параметры модели

  • Во второй строке вводится целое число n — количество пациентов (1≤n≤100)

  • В следующих n строках вводятся вещественные числа — температуры пациентов


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

Алгоритм вычисления функции F(n), где n – натуральное число, задан следующими соотношениями:
F(n) = n, если n ≥ 1300,
F(n) = n · F(n + 1), если n < 1300 и n – нечётное;
F(n) = n · F(n + 2) / 4, если n < 1300 и n – чётное.
Чему равно значение выражения F(1286) / F(1290)?
Создайте модель, которая предсказывает оценку на экзамене в зависимости от потраченных часов на подготовку.

Формат входных данных
В первой строке записано натуральное число n (n <= 1000). Вторая и третья строки содержат соответственно время подготовки (в часах) и количество баллов набранных на экзамене i-м студентом (1<=i<=n). Все числа положительные целые. В первой строке числа не превышают 10, во второй строке - не превышают 100.

Выполните следующие задания
1. Создайте DataFrame из входных данных
2. Обучите модель LinearRegression
3. Предскажите оценку для студента, который готовился 5.5 часов
4. Во второй строке выведите через пробел два числа: коэффиценты k и b линии регрессии
6. В третьей строке выведите время подготовки, необходимое для получения чтобы получить 75 баллов 

Все числа необходимо вывести с точностью до одного знака после запятой
Вы работаете с классическим датасетом Boston Housing Dataset, который содержит информацию о ценах на недвижимость в пригородах Бостона. Датасет включает 13 признаков, влияющих на медианную стоимость домов. Ваша задача — построить модель множественной линейной регрессии и проанализировать факторы, влияющие на цену.

Описание признаков:


 
Признак Описание Единицы
crim Уровень преступности на душу населения %
zn Доля жилых зон для участков > 25,000 кв. футов %
indus Доля промышленных площадей %
chas Расположение у реки (1 = да, 0 = нет) бинарный
nox Концентрация оксида азота (загрязнение воздуха) ppm
rm Среднее количество комнат в доме количество
age Доля домов, построенных до 1940 года %
dis Средневзвешенное расстояние до центров занятости единицы
rad Индекс доступности радиальных магистралей индекс
tax Ставка налога на имущество $ за $10,000
ptratio Соотношение учеников к учителям число
lstat % населения с низким статусом %
medv Медианная стоимость дома (целевая переменная) $1000

Задание

  1. Загрузите датасет из прикрепленного файла
  2. Выберите 5 наиболее важных признаков для модели:
    • rm (количество комнат)
    • lstat (% населения с низким статусом)
    • ptratio (соотношение учеников к учителям)
    • dis (расстояние до центров занятости)
    • crim (уровень преступности)
  3. Создайте X (признаки) и y (целевая переменная medv)
  4. Создайте и обучите модель LinearRegression
  5. Выведите коэффициенты для каждого признака
  6. Выведите intercept модели
Примечание
1) Название коэффициентов выводить не надо
2) В этой задаче не используйте разделение на обучающую и тестовую выборки для упрощения задачи.

АЛГОРИТМ РАСЧЕТА R²

Шаг 1: Вычисляем среднее значение Y

y_mean = (y₁ + y₂ + ... + yₙ) / n

Шаг 2: Считаем общую сумму квадратов (TSS) Total Sum of Squares — насколько данные разбросаны вокруг среднего

TSS = Σ(y_i - y_mean)²

Шаг 3: Считаем сумму квадратов ошибок (RSS) Residual Sum of Squares — насколько наши предсказания ошибаются

RSS = Σ(y_i - y_pred_i)²

Шаг 4: Вычисляем R²

R² = 1 - (RSS / TSS)
 


Задача

Напишите программу, которая оценивает качество модели предсказания оценок студентов.

Формат входных данных
Программа получает на вход две строки: в первой строке через пробел записаны целые числа - реальные оценки студентов, во второй строке записаны вещественные числа - оценки, полученные в результате предсказания с использованием модели. Количество чисел в первой и второй строке равно 10.

Формат выходных данных
Выведите одно число - коэффициент R2 с точностью до 2-х знаков после запятой
 
2#68062
Составьте программу, которая печатает 1, если указанное высказывание является истинным, и 0 в противном случае

Квадрат числа a больше произведения b и c

С клавиатуры вводится три числа, каждое в отдельной строке: в первой строке вводится число a, во второй - b, в третьей - с
 

 Найти все целые числа в строке. Число - это последовательность из одной или более цифр, которая:

  • Ограничена слева либо началом строки, либо нецифровым символом

  • Ограничена справа либо концом строки, либо нецифровым символом

  • Может начинаться с нуля (например, "012" считается числом)

  • Цифры могут повторяться


Формат входных данных
Строка, содержащая алфавитно-цифровые символы и знаки препинания. 

Формат выходных данных
Вывести все числа, находящиеся в данной строке. Все найденные числа вывести в одной строке через один пробел. Если чисел в строке нет, вывести None.
Студент Павел недавно приобрёл себе подержанный автомобиль и теперь ездит на нём в университет. На его пути в вуз имеется один загруженный перекрёсток, проезд через который регулируется светофором. Сделав ряд поездок, Павел обнаружил интересную закономерность: пока на светофоре горит зелёный свет, через перекрёсток успевает проехать не менее a, но не более b машин. Сверху над перекрёстком установлена уличная видеокамера. Павел может подключиться к ней со своего смартфона и сосчитать количество машин n, которые стоят перед светофором впереди него (свою машину он тоже считает). Назовём тактом светофора включение на нём зелёного сигнала. Напишите программу, определяющую минимальный и максимальный номер такта, на котором Павел проедет перекрёсток.
Формат входных данных
Впервых двух строках входных данных записаны целые числа a и b (1 ≤a ≤ b ≤ 109). В третьей строке записано целое число n (1≤ n ≤ 109).
Формат выходных данных
Выведите два целых числа минимальный и максимальный номер такта светофора, на котором Павел проедет перекрёсток.

Замечание
В примере из условия перед светофором стоят 10 машин. Если через перекрёсток будут проезжать по 5 машин на зелёный свет, то Павел проедет на втором такте. Если же будут проезжать по 3 машины, то он проедет лишь на четвёртом такте.
Дубликаты - одинаковые строки в данных, которые могут исказить анализ.

Основные методы

df.duplicated() - находит дубликаты (возвращает True/False)
df.drop_duplicates() - удаляет дубликаты
df.nunique() - количество уникальных значений
Параметры drop_duplicates()
subset - столбцы для проверки дубликатов
keep - какую копию оставить ('first', 'last', False)
ignore_index -  пересоздает аккуратный последовательный индекс (0, 1, 2, 3, 4...).
Пример
df_clean = df.drop_duplicates()  # Удалить полные дубликаты
df_partial = df.drop_duplicates(subset=['name'])  # По имени
df_last = df.drop_duplicates(keep='last')  # Оставить последний

Задание

1) Посчитайте количество полных дубликатов в прикрепленном датасете (программа должна вывести целое число)
2) Удалите все полные дубликаты и выведите размер получившегося датасета.
Поделиться
Класснуть