Top.Mail.Ru
Ответы
Аватар пользователя
Аватар пользователя
Аватар пользователя
Аватар пользователя
Сборная Домашка
+3

№ 1 Время в школе Ограничение по времени: 1 секунда Сегодня у Васи N уроков.

Каждый урок длится A минут. Между каждой парой уроков есть перемена. Одна из перемен обязательно будет большой, а остальные — обычными.
Большая перемена предназначается для обеда и длится 30 минут. Обычная перемена длится B минут.
Возвращаясь из школы домой, Вася задумался о том, сколько же минут он провёл сегодня в школе. Помогите Васе.

Формат входных данных
Первая строка содержит целое число N (2≤N≤1000) — количество уроков.
Вторая строка содержит целое число A (1≤A≤1000) — длительность урока в минутах.
Третья строка содержит целое число B (1≤B<30) — длительность обычной перемены в минутах.

Формат выходных данных
Выведите единственное число — количество минут, которое Вася провёл в школе.

Пояснение
Поясним приведённый пример.
У Васи 4 урока, каждый длительностью 45 минут. Обычные перемены длятся по 10 минут. Следовательно, с учётом большой перемены Вася провёл в школе 230 минут.

№ 2
Разноэтажный дом
Ограничение по времени: 1 секунда

Архитекторы — люди творческие: иногда они создают дома, в которых разные подъезды имеют разную высоту. В таком доме и поселился герой задачи Макс.
В доме Макса три подъезда: в первом A этажей, во втором — B, в третьем — C. При этом на одной площадке (в рамках конкретного подъезда) всегда ровно три квартиры. Квартиры в доме имеют сквозную нумерацию, начиная с первого этажа первого подъезда.

Расположение квартир в доме из первого примера. Разными цветами обозначены разные подъезды.

Однажды Макс задумался: квартиры с какими номерами расположены на этаже с номером K?

Формат входных данных
Первая строка содержит целое число A (1≤A≤ 20) — количество этажей в первом подъезде.
Вторая строка содержит целое число B (1≤B≤20) — количество этажей во втором подъезде.
Третья строка содержит целое число C (1≤C≤20) — количество этажей в третьем подъезде.
Четвёртая строка содержит целое число K (1≤K≤max(A,B,C)) — номер этажа, для которого Макс хочет узнать номера расположенных там квартир.

Формат выходных данных
Выведите несколько целых чисел — номера квартир, расположенных на этаже с номером K. Числа необходимо выводить в порядке возрастания.

Система оценки
В этой задаче 10 тестов, не считая тестов из условия. За каждый пройденный тест будет начисляться 10 баллов. Решения, правильно работающие при K≤min(A,B,C), будут оцениваться в 40 баллов.

Пояснение
В первом примере квартиры пронумерованы следующим образом:

на первом этаже первого подъезда расположены квартиры с номерами 1,2 и 3;
на втором этаже первого подъезда расположены квартиры с номерами 4,5 и 6;
на третьем этаже первого подъезда расположены квартиры с номерами 7,8 и 9;
на первом этаже второго подъезда расположены квартиры с номерами 10,11 и 12;
...
на шестом этаже третьего подъезда расположены квартиры с номерами 40,41 и 42.
Соответственно выводятся номера квартир, расположенных на втором этаже в каждом из подъездов.
Во втором примере выведено только шесть чисел, поскольку во втором подъезде отсутствует третий этаж.

По дате
По рейтингу
Аватар пользователя
Ученик

N=int(input(()##количество
А=int(input(()##время уроков
В=int(input(()##время перемены
print(N*A+((N-2)*B)+30)

Аватар пользователя
Ученик

N = int(input()) ##количество уроков
A = int(input()) ##время уроков
B = int(input()) ##время перемены
print(N*A + ((N-2) * B) + 30)

Аватар пользователя
Ученик

2. не самое удачное решение но все же
def funk1(kolv_kvart, podezd):
kvart = []
if podezd == a:
for i in range(1, kolv_kvart + 1):
kvart.append(i)
if podezd == b:
for i in range(kvart_a[-1] + 1, kolv_kvart + total_a + 1):
kvart.append(i)
if podezd == c:
for i in range(kvart_b[-1] + 1 , kolv_kvart + total_b + total_a + 1):
kvart.append(i)
return kvart

a, b, c, k = int(input()), int(input()), int(input()), int(input())

total_a = a * 3
total_b = b * 3
total_c = c * 3

kvart_a = funk1(total_a, a)
kvart_b = funk1(total_b, b)
kvart_c = funk1(total_c, c)

otv_a = kvart_a[:3 * k]
otv_b = kvart_b[:3 * k]
otv_c = kvart_c[:3 * k]

if a >= k and b >= k and c >= k:
otv_num = otv_a[-3:] + otv_b[-3:] + otv_c[-3:]
elif a >= k and b >= k:
otv_num = otv_a[-3:] + otv_b[-3:]
elif a >= k and c >= k:
otv_num = otv_a[-3:] + otv_c[-3:]
elif b >= k and c >= k:
otv_num = otv_b[-3:] + otv_c[-3:]


for i in otv_num:
print(i)

Аватар пользователя
Ученик

А второе кто может?