Язык программирования

3 014 задачвместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: успешные, неуспешные.
Беси и её подружки играют в супергероев. Все знают, что каждый супергерой имеет сигнал, призывающий его к действию. Беси нарисовала специальный сигнал на листке бумаги размером \(M \times N\) (\(1 \leq M \leq 10, 1 \leq N \leq 10\)), но он получился очень маленький. Беси хочет его увеличить ровно в K (\(1 \leq K \leq 10\)) раз в каждом направлении.

Этот сигнал состоит только из символов '.' и 'X'.

ФОРМАТ ВВОДА (файл cowsignal.in):

Первая строка ввода содержит \(M\), \(N\), \(K\), разделённые одиночными пробелами.

Каждая из следующих \(M\) строк содержит строку символов длиной \(N\). Все вместе они и описывают сигнал.

ФОРРМАТ ВВОДА (файл cowsignal.out):

Вы должны вывести \(KM\) строк, каждая с \(KN\) символами, представляющими картинку увеличенного сигнала.

Программа получает на вход размеры матрицы n и m (количество строк и столбцов), затем элементы матрицы (n строк по m чисел в каждой). Все числа целые, не превышают по модулю 1000. Программа должна вывести среднее арифметическое всех элементов матрицы с точностью до 2 знаков после запятой.
Нужно слегка размыть изображение для художественного эффекта. Используем простое размытие: каждый пиксель заменяется на среднее значение его самого и соседей (сверху, снизу, слева, справа). Программа получает на вход размеры изображения n и m, затем n строк по m чисел - яркость пикселей. Программа должна вывести размытое изображение: n строк по m чисел. Для каждого пикселя считаем среднее арифметическое его самого и существующих соседей (для угловых и крайних пикселей соседей меньше). Ответ округлять до целого вниз.
Вы сделали селфи, но камера всё перевернула зеркально! Нужно отразить картинку по горизонтали (слева направо). Программа получает на вход размеры картинки n и m (высота и ширина), затем n строк по m чисел - пиксели картинки. Программа должна вывести отражённую по горизонтали картинку: n строк по m чисел. Первый столбец становится последним, второй - предпоследним и т.д.
В ресторане официанты получают чаевые. Строки — официанты, столбцы — дни. Найдите сумму всех чаевых только тех официантов, которые заработали выше среднего.

Формат входных данных: Первая строка содержит два целых числа n и m (1 ≤ n, m ≤ 100) — количество официантов и дней. Следующие n строк содержат по m целых неотрицательных чисел — чаевые в рублях.

Формат выходных данных: Одно целое число — сумма всех элементов строк, чья сумма строго больше среднего значения по всей матрице.

Примечание
В примере первый официант заработал 100, второй - 260, третий 120. Средний заработок - 160. В искомую сумму берем только заработок второго официанта - 260. Ответ 260

Часть 1

Напиши функцию lantern(size, c), которая рисует фонарик.

Параметры функции:

  • size — диаметр круга (число)
  • c — цвет фонарика (строка)

Порядок рисования

  1. Подвес — коричневый ("brown") закрашенный прямоугольник:
    • ширина: 10
    • высота: 20
  2. Круг — закрашенный круг под подвесом:
    • цвет: параметр c
    • диаметр: параметр size
    • круг рисуется так, чтобы он был по центру подвеса

Часть 2

После функции напиши основную программу, которая рисует гирлянду из 6 фонариков в ряд.
Должна получиться гирлянда из 6 разноцветных фонариков разного размера. Порядок следования фонариков следуюший:
красн жёлт  зелён красн жёлт  зелён
 40    35    45    35    40    35
Первый фонарик рисуется из точки (0, 0), каждый следующий сдвигается по оси х на 50 вправо. 

Пример вызова

lantern(50, "red")    # красный фонарик диаметром 50
lantern(30, "yellow") # жёлтый фонарик диаметром 30

Подсказки

  • Используй begin_fill() и end_fill() для заливки
  • Для круга используй circle(-size/2) — минус нужен, чтобы круг рисовался справа от черепашки
  • Не забудь поднимать и опускать перо (pu(), pd()) в нужных местах
Н#80683

Нарисуйте букву "H" из трёх линий

  • Начальная точка: (0, 0)

  • Черепашка идёт вверх 100 (левая вертикаль), затем перемещается в (0, 50) без рисования,

  • Рисует горизонтальную линию вправо 50 (перекладина),

  • Перемещается в (50, 0) без рисования,

  • Рисует вертикаль вверх 100 (правая).

Буква должна состоять ровно из трех линий!

Робот стоит на ступеньке номер X и должен добраться до ступеньки номер Y. Он может прыгать только на Z ступенек вниз за раз. Напишите программу, которая выводит номер ступеньки после каждого прыжка (если робот не может добраться точно до Y, он останавливается на ближайшей возможной ступеньке).

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

  • X — начальная ступенька - целое число не больше 100

  • Y — целевая ступенька - целое число не больше 10

  • Z — размер прыжка - целое число не больше 10
    Каждое число в отдельной строке.

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

Дана последовательность из N чисел. Найти сумму чисел, у которых значение и позиция имеют одинаковую чётность (оба чётные или оба нечётные).

Входные данные: в первой строке вводится число N, в следующих строках вводятся N чисел (по одному числу в строке).

Выходные данные: выведите сумму чисел, для которых чётность значения совпадает с чётностью позиции (нумерация с 0).

Дано количество целых чисел n. Далее в n строках вводятся целые числа (обозначим их как x).

Для каждого введённого числа x необходимо вычислить значение функции \( f(x)=2x−5\).

Найти значение x (аргумент), при котором функция \( f(x)\) принимает максимальное значение.

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

  • Первая строка: целое число n (количество чисел в последовательности), где \(1 \le n \le 100\).

  • Следующие n строк: целые числа (значения x). Каждое число по модулю не превышает 105


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

Два числа через пробел:

  • первое число: значение x, при котором функция \( f(x)=2x−5\) достигает своего максимума
  • второе число: максимальное значение функции \( f(x)=2x−5\).

 

Дано количество целых чисел n. Далее в n строках вводятся целые числа. Найти разницу между максимальным и минимальным элементами последовательности.

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

  • Первая строка: количество чисел n - целое положительное число. Количество чисел не больше 100.

  • Следующие n строк: целые числа. Каждое число по модулю не превышает 107.

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

  • Одно число - разница между максимумом и минимумом.

Макс купил премиум-подписку в Roblox и получил Y робуксов. Каждый день он тратит ровно X робуксов на скины и улучшения, если у него есть такая возможность. Напишите программу, которая выводит остаток робуксов на конец каждого дня, пока у него не закончатся робуксы (станет меньше X).​

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

  • X — робуксов тратит в день

  • Y — начальное количество робуксов

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

Артём играет в игру, где каждый день его монеты удваиваются. Сейчас у него 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) — результат каждого матча

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

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

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

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

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

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

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

Поделиться
Класснуть