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

3 082 задачивместе с подтемами
Число у задачи — рейтинг сложности, слово рядом — насколько она трудна по сравнению с другими задачами такого же типа. Шкалы задач с ответом и задач с кодом между собой не сравниваются. Рядом — счётчики попыток: ✓ успешные, ✗ неуспешные.
В строке содержатся теги в угловых скобках. Найдите самую длинную последовательность, начинающуюся с < и заканчивающуюся >.

Формат входных данных
На вход подается одна строка. Строка содержит печатаемые ASCII-символы. В строке обязательно есть хотя бы одна подпоследовательность начинающаяся с < и заканчивающаяся >.

Формат выходных данных
Выведите ответ на задачу.


Примеры
Входные данные
text <tag>content</tag> text

Выходные данные
<tag>content</tag>
✓ 3✗ 1900средняяВойти и решать
В заданном тексте, состоящем не более чем из 100 строк, найдите все даты в формате DD-MM-YYYY. Выведите эти даты в столбик в порядке их встречаемости в тексте. Валидность даты проверять не нужно. 

Формат даты: DD-MM-YYYY, где:

  • DD - день (две цифры, 01-31)

  • MM - месяц (две цифры, 01-12)

  • YYYY - год (четыре цифры, обычно 0000-9999)

  • Разделитель: дефис "-"



Формат входных данных
В первой строке записано натуральное число N - количество строке текста. Далее, идут сами строки текста.

Формат выходных данных
Выведите все искомые даты, каждая дата в отдельной строке.

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

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

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

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

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


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

Формат выходных данных
Вывести все числа, находящиеся в данной строке. Все найденные числа вывести в одной строке через один пробел. Если чисел в строке нет, вывести None.

В классе \(N\) учеников. Учитель опрашивает сначала всех учащихся с нечётными номерами (1, 3, 5, ...), затем — всех с чётными номерами (2, 4, 6, ...). Вася, имеющий номер \(K\) по журналу, хочет узнать, какой по порядку вопрос достанется ему. Напишите программу, вычисляющую номер вопроса по данным \(N\) и \(K\).

Вводятся два целых числа \(N\) и \(K\), каждое в отдельной строке (\(1 \le N \le 2 \cdot 10^9\), \(1 \le K \le N\)).

Выведите одно целое число — номер вопроса, который достанется Васе.

Решения, правильно работающие при \(N \le 1000\), будут оцениваться в 50 баллов.

 

В примерах из условия \(N = 10\), и ученики вызываются в следующем порядке: \(1\), \(3\), \(5\), \(7\), \(9\), \(2\), \(4\), \(6\), \(8\), \(10\). Если \(K=7\), то Вася выйдет 4-м по счёту, если \(K=6\), то Вася выйдет 8-м.

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

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

Забор состоит из N одинаковых вертикальных досок. Некоторые из досок сгнили и нуждаются в замене, для каждой доски известно, нужно ли её заменить. Для ремонта забора можно использовать продающиеся в магазине щиты, которые бывают L разных видов: шириной в 1 доску, в 2 доски, ..., в L досок. Щит нельзя разрезать на части, то есть одним щитом можно заменить не более любых L подряд идущих досок. При этом можно менять не только сгнившие доски, но и хорошие.

Оказалось, что все щиты стоят одинаково, независимо от размера щита. Определите, какое наименьшее число щитов необходимо приобрести, чтобы починить весь забор.

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

Первая строка входных данных содержит целое число L (L > 0) – максимальный размер щита. Во второй строке входных данных записано целое число N (N > 0) – количество досок в заборе. Следующие N строк содержат по одному числу, равному 0 или 1. Число 1 обозначает, что соответствующая доска в заборе нуждается в замене, число 0 – что доска может быть сохранена.

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

Программа должна вывести одно целое число – минимальное число щитов, которое необходимо приобрести для ремонта всего забора.

В григорианском календаре года нумерются числами 1, 2, 3 и т.д., это года “нашей эры”. Предшествующие года называются “первый год до нашей эры”, “второй год до нашей эры” и т.д.

Будем обозначать года нашей эры положительными числами, а года до нашей эры — отрицательными. При этом года с номером 0 не существует, то есть нумерация лет выглядит так: ..., −3, −2, −1, 1, 2, 3, ...

В летописях написано, что какое-то событие произошло в году номер A, а другое событие произошло спустя n лет после первого события (или за n лет до первого события). Определите, в каком году произошло второе событие.

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

Первая строка входных данных содержит число A — год, в котором произошло первое событие. Вторая строка содержит число n. Если n > 0, то второе событие произошло через n лет после первого события, а если n < 0, то второе событие произошло за |n| лет до первого события. Оба числа могут быть как положительными, так и отрицательными.

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

Программа должна вывести одно целое число — номер года, в который произошло второе событие.

Пояснения к примерам
Пояснение к первому примеру.
Первое событие произошло в 5 году, второе событие произошло за 3 года до первого, это был 2 год.
Пояснение ко второму примеру.
Первое событие произошло в 3 году до н.э., второе событие произошло через 1 год, это 2 год до н.э. Ответ: 2.
Пояснение к третьему примеру.
Первое событие произошло в 3 году до н.э., второе событие произошло через 4 года. Отсчитываем 4 года: 2 год до н.э., 1 год до н.э., 1 год н.э., 2 год н.э. Ответ: 2.
Выберите правильный вариант ответа.

Чем занимается функция input()?  
  1.   выводит текст на экран  
  2.   считывает данные с клавиатуры  
  3.   преобразует значения  
  4.   создаёт переменную  
Вы набираете текст: «Диапазон цен от 500 – 1000 рублей». Какое правило вы нарушили?
  1. Правило использования неразрывного пробела.
  2. Правило написания числовых диапазонов.
  3. Правило написания денежных единиц.
  4. Правило использования дефиса вместо тире.
 Какой знак препинания и с какой отбивкой используется для обозначения прямой речи?
  1. Длинное тире с неразрывным пробелом с обеих сторон.
  2. Короткое тире без пробелов.
  3. Длинное тире, которое ставится сразу после слова без пробелов.
  4. Дефис с неразрывным пробелом после него.
Некоторые функции требуют определенных типов данных в качестве аргументов.

Команды int(), str() и float() - это тоже встроенные функции, которые используются для преобразования данных.

Функции int(), str() и float() работают только с определёнными типами данных. Если передать им неподходящий аргумент, произойдёт ошибка.

  • int(число_или_текст_с_цифрами) — можно передать число или текст, содержащий только цифры ("123").

  • float(число_или_текст_с_числом) — можно передать число или текст, содержащий число ("12.3").

  • str(что_угодно) — можно передать любые данные, они превратятся в текст.


Выберите вариант, который вызовет ошибку:

  1. int("15")

  2. int("пятнадцать")

  3. float("3.14")

  4. str(100)

Когда вы используете print(), вы не видите всей сложной работы. Вы просто говорите «напечатай это», а функция уже содержит все необходимые команды, которые выполняются и выводят ваше сообщение на экран. 
Если один раз создать функцию, то сколько раз её потом можно использовать?

Выберите верный вариант ответа:
  1. Только один раз

  2. Два раза

  3. Сколько угодно раз

  4. Ни разу

У каждой фнукции есть имя и ее содержимое (тело функции - код, который она выполняет). Что нужно сделать, чтобы функция выполнилась (выполнился код, который она содержит)?

Выберите верный вариант ответа:
  1. Просто написать её название (имя)

  2. Написать её имя и поставить круглые скобки

  3. Написать её название и поставить точку

  4. Закричать на компьютер «Работай!»

66861#66861
Оля обожает лазерное шоу, потому она решила собрать собственную конструкцию из лазеров и зеркал, которая будет поражать всех её знакомых и друзей, но первым делом Оля начала изучать все тонкости своей идеи, создавая конструкцию, состоящую лишь из одного лазера и зеркал. К сожалению, у Оли не оказалось нужного количества зеркал, потому она нашла в гараже небольшие металлические короба, представляющие из себя параллелепипеды.

Для упрощения первой своей конструкции Оля приняла решение рассматривать задачу в виде плоскости таким образом, что лазер будет всегда находиться в начале координат, его направление будет иметь угол кратный 45-ти градусам, а система коробов, от которых он будет отражаться, всегда будет перпендикулярна взгляду (перпендикулярна плоскости OXY). Но также стоит учесть, что короба, от которых будет отражаться свет, имеют как свойства отражения света, так и преломления, притом со всех четырёх сторон. Стоит также пренебречь в ходе расчётов тем, что луч лазера может отражаться в обратном направлении, таким образом не теряя интенсивности, а при прохождении через начало координат считаем, что он не прерывается, а летит дальше).

Результатом успеха Оля считает тот случай, когда лазер в следствие отражений попал в результирующую точку, которую Оля заранее знает, но так как лазер имеет батарейку, которая быстро садится, она просит Вас помочь ей заранее определить, будет ли успешным её текущая конструкция.
Для удобства расчётов Оля гарантирует, что точка пересечения луча со сторонами металлических коробов будет всегда целым числом, а стороны короба будут параллельным осям OY и OX.
Входные данные
В первой строке подаются два числа:
  •  направление лазера, находящегося в начале координат, в виде угла наклона кратного 45 градусам (угол считается против часовой стрелке) (положительное направление оси OX равно 0 градусов, а положительное направление оси OY равно 90 градусам) (угол от 0 до 315 градусов);
  •  интенсивность света лазера в нановаттах (целое число от 100 до 5000).
  • На второй строке подаётся число N (1 <= N <= 20) – количество металлических коробов (параллелепипедов), которые Оля хочет установить. Далее на N строках подаются через пробел параметры каждого короба:
  •  координаты левого верхнего угла, координаты правого нижнего угла короба (целые числа в диапазоне [-100;100]);
  •  процент поглощения света (вещественное число в диапазоне [0; 100]).
На последней строке входных данных подаются координаты результирующей точки (целые числа в диапазоне [-100;100])

Выходные данные
Вывести в ответе в случае успеха конструкции интенсивность (только целую часть), с которой луч лазера попадёт в результирующую точку.
Если конструкция не успешна (лазер поглотился более чем на 90% от начальной интенсивности), то вывести координаты первого короба на пути лазерного луча, при отражении от которого интенсивность стала меньше 10% от начального) с указанием полученной интенсивности (только целую часть) (вывод через пробел – координаты левого верхнего угла, правого нижнего, (в том порядке, в котором короб был введена в программу), затем полученная интенсивность).
Гарантируется, что лазер не может улететь в бесконечность, то есть результатом может быть либо поглощение луча, либо попадание в результирующую точку.
66860#66860
Компания “РудниК” хочет построить автономный рудодобывающий городок и ей необходимо рассчитать хватит ли её новому городу припасов на автономное существование в течении 100 месяцев. Для автономного существования городу необходимы: токарные изделия, электронные платы, бетон и еда. Изначально в городке находится по 30 единиц каждого ресурса. Каждые 10 месяцев в городок приходит по X единиц каждого ресурса. То есть при наступлении 10-го, 20-го, 30-го месяца и так далее. Чтобы автономно существовать без построек город потребляет по Y единицы каждого ресурса за месяц. Потребление ресурса происходит после поступления ресурсов с заводов и других источников. Если в какой-то месяц один из ресурсов кончится (станет равным 0 или меньше 0), то город закроют, а жителей вывезут. Рудодобывающий город начинает свой отсчёт с дня №1. Администрация города может строить здания, чтобы производить ресурсы самостоятельно:
  • - завод по переработке отходов. Стоимость 8 токарных изделий, 3 электронные платы, 10 бетона. Время строительства 5 месяцев. Каждые 2 месяца завод будет выдавать 5 бетона и 2 токарных изделия. Потребляет 3 токарных изделия каждые 5 месяцев. ID завода - 1.
  • - теплица. Стоимость 8 бетона и 5 токарных изделий. Время строительства 5 месяцев. Каждые 5 месяцев теплица будет приносить 7 еды. Потребляет 2 бетона каждые 10 месяцев. ID завода - 2.
  • - завод по производству электроники. Стоимость 6 электронных плат, 10 токарных изделий, 10 бетона. Время строительства 10 месяцев. Каждые 10 месяцев будет выдавать по 6 электронных плат. Потребляет 2 токарных изделия каждые 18 месяцев. ID завода - 3.
  • - завод по производству бетона. Стоимость 4 электронные платы, 8 токарных изделий, 8 бетона. Время строительства 8 месяцев. Каждые 8 месяцев будет выдавать по 8 бетона. Потребляет 1 токарное изделие и 1 электронную плату каждые 12 месяцев. ID завода - 4.
Завод начинает приносить доход или начинает вести отсчёт до выдачи новых ресурсов на следующий месяц после завершения его постройки или прошлой выдачи ресурсов. Если завод приносит ресурсы на n-ый месяц, на следующий n+1 месяц начинается отсчёт прихода ресурсов в новом цикле. Представим, что теплица начнёт строительство в 5-ый месяц, значит её строительство завершится на 9-ый месяц, производить ресурсы она будет с 10-го месяца, а первый “урожай” будет собран на 14-ый месяц. Администрация города может построить несколько заводов, если у неё хватает на это ресурсов. Можно начать строительство завода только, если на момент начала строительства все ресурсы есть в наличии. Месяц начала строительства завода полностью учитывается во времени его строительства. Только разные заводы/строения могут строится одновременно. Эффекты от нескольких заводов складываются.

Формат входных данных
На вход программа получает 2 числа 0<=X<=40, 1<=Y<=40, количество ресурсов, которые колония получается и тратит соответственно. И двумерный массив (каждый элемент на новой строке), размером 4 на 5, указывающий в какой месяц должно начаться строительство того или иного здания. Где по вертикали - ID строения/завода, а по горизонтали номер планируемой к строительству постройки. Каждую постройку могут построить максимально 5 раз. Если в столбце строения указано число 0, значит завод/строение не строится.

Формат выходных данных
На выходе программа должна выдать количество месяцев, которые город смог самостоятельно себя обеспечивать, если он просуществовал 100 месяцев, значит город признан успешным. На следующих строках вывести остаток ресурсов на момент завершения расчётов, не важно успешных или неуспешных. Числа могут принимать отрицательные значения.
Строка 1: Кол-во прожитых месяцев; 2: Токарных изделий; 3: Электронных плат; 4:Бетона; 5:Еды.
На школьной ярмарке вы собираете пожертвования. Волонтёры вводят суммы одну за другой (только целые неотрицательные числа, волонтёры не будут вводить отрицательные числа). Когда кто-то вводит 0 — сбор закрывается, нужно вывести общую сумму.

Напишите программу, которая запрашивает у пользователя ввод чисел в цикле (вводятся только неотрицательные числа), пока не будет введён ноль и выведет сумму чисел.
 
✓ 484✗ 1 109300лёгкаяВойти и решать
Поделиться
Класснуть