Zashchitin Denis
?>

Пирожные Для праздничного чаепития необходимо купить n пирожных. В магазине продается всего два вида пирожных, причем пирожных одного вида осталось a штук, а пирожных другого вида осталось b штук. Пирожные одного вида считаются одинаковыми. Сколькими можно купить ровно n пирожных? Входные данные В первой строке входных данных записано число n — количество пирожных, которое нужно купить, во второй и третьей строке записаны числа a и b — количество пирожных каждого из двух видов, которые есть в магазине. Все числа — целые, от 1 до 100. Выходные данные Программа должна вывести одно целое число — количество различных купить n пирожных. Примечание В примере из условия купить 5 пирожных можно пирожных первого вида и 5 пирожных второго вида, 1 пирожное первого вида и 4 пирожных второго вида, 2 пирожных первого вида и 3 пирожных второго вида, 3 пирожных первого вида и 2 пирожное второго вида. Больше нет, так как в магазине есть только 3 пирожных первого вида. Примеры Ввод Вывод 5 3 10 4

Информатика

Ответы

dzo-dzo

n = int(input())

a = int(input())

b = int(input())

ans = max(0, min(a, b) - max(0, n-b) + 1)

print(ans)

Объяснение:

Пусть имеется a штук первого типа, b штук второго типа, а требуется взять n пирожных.

Пусть p - количество пирожных первого типа, которые взяли, q - количество пирожных второго типа, которые взяли. Тогда должны выполняться условия:

1) p+q = n

2) 0 <= p <= a

3) 0 <= q <= b

Рассмотрим третье неравенство. q заменим на n-p с учетом первого равенства. После этого преобразуем полученное неравенство.

0 <= n-p <= b

-b <= p-n <= 0

n-b <= p <= n

С учетом второго неравенства, получим окончательные границы для p:

max(0, n-b) <= p <= min(a, n).

Поскольку фиксированное значение p однозначно определяет q, то искомое количество выбрать пары (p, q) равно числу выбрать p - это количество целых чисел на отрезке [max(0, n-b); min(a, n)], то есть ans = min(a, n) - max(0, n-b) + 1. Может так получиться, что ответ неположителен - это из-за того, что выбрать пирожные вообще нельзя. Поэтому нужно и этот момент подкорректировать: ans = max(0, min(a, n) - max(0, n-b) + 1).

hamelleon43
Производим обратные действия: имея команды "разделить на 3", "разделить на 2" и "отнять 1", сделать из 84 львов 1.

Поскольку нам нужно минимальное количество действий, будем пробовать команды именно в том порядке, в котором они указаны выше, только сначала проверяем, можем ли мы получить число, делящееся на 3 без остатка, отняв только 1.

1)
84 делится на 3 без остатка, результат - 28.

2)
Ближайший делитель 3 к 28 - это 27, получить его можем в одну команду "отнять 1".

3) 27 / 3 = 9

4) 9 / 3 = 3

5) 3 / 3 = 1

ответ: 5 команд.
zakupki
Производим обратные действия: имея команды "разделить на 3", "разделить на 2" и "отнять 1", сделать из 84 львов 1.

Поскольку нам нужно минимальное количество действий, будем пробовать команды именно в том порядке, в котором они указаны выше, только сначала проверяем, можем ли мы получить число, делящееся на 3 без остатка, отняв только 1.

1)
84 делится на 3 без остатка, результат - 28.

2)
Ближайший делитель 3 к 28 - это 27, получить его можем в одну команду "отнять 1".

3) 27 / 3 = 9

4) 9 / 3 = 3

5) 3 / 3 = 1

ответ: 5 команд.

Ответить на вопрос

Поделитесь своими знаниями, ответьте на вопрос:

Пирожные Для праздничного чаепития необходимо купить n пирожных. В магазине продается всего два вида пирожных, причем пирожных одного вида осталось a штук, а пирожных другого вида осталось b штук. Пирожные одного вида считаются одинаковыми. Сколькими можно купить ровно n пирожных? Входные данные В первой строке входных данных записано число n — количество пирожных, которое нужно купить, во второй и третьей строке записаны числа a и b — количество пирожных каждого из двух видов, которые есть в магазине. Все числа — целые, от 1 до 100. Выходные данные Программа должна вывести одно целое число — количество различных купить n пирожных. Примечание В примере из условия купить 5 пирожных можно пирожных первого вида и 5 пирожных второго вида, 1 пирожное первого вида и 4 пирожных второго вида, 2 пирожных первого вида и 3 пирожных второго вида, 3 пирожных первого вида и 2 пирожное второго вида. Больше нет, так как в магазине есть только 3 пирожных первого вида. Примеры Ввод Вывод 5 3 10 4
Ваше имя (никнейм)*
Email*
Комментарий*

Популярные вопросы в разделе

whitecatrussia5398
Chopper-hinter25
TatianaSeliverstova64
osirparts7854
artmasterstyle
Серопян
yurazharov
Никита227
travkinadjey31
bessalaias
zmlavra
k075ko8
maryshecka
fruktovahere
goldenshtein33333
▲