Форум программистов, компьютерный форум, киберфорум
Наши страницы
Алгоритмы
Войти
Регистрация
Восстановить пароль
 
ADvornick
1 / 1 / 1
Регистрация: 31.05.2019
Сообщений: 6
1

Старая задачка про чаепитие

13.10.2019, 00:01. Просмотров 102. Ответов 1
Метки нет (Все метки)

Для праздничного чаепития необходимо купить n пирожных. В магазине продается всего два вида пирожных, при чем пирожных одного вида осталось a штук, а пирожных другого вида осталось b штук. Пирожные одного вида считаются одинаковыми. Сколькими способами можно купить ровно n пирожных?

Формат вхыодных данных
В первой строке входных данных заисано исло n - количество пирожных, которое нужно купить, во второй и третьей сроке заисаны числа a и b - количество пирожных каждого из двух видов, которые есть в магазине. все числа - целые, от 0 до 100.

Есть пример вывода формулы на Pascal
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
var
  n, a, b: integer;
 
function min(a, b: integer): integer;
begin
  if a > b then
    min := b
  else
    min := a;
end;
 
function max(a, b: integer): integer;
begin
  if a > b then
    max := a
  else
    max := b;
end;
 
begin
  readln(n);
  readln(a);
  readln(b);
  if a + b < n then
    writeln('Impossible')
  else
    writeln(min(a, n) - max(n - b, 0) + 1);
  readln;
end.
А есть мое решение
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
n = input()
a = input()
b = input()
 
 
 
lim1 = a
lim2 = b
 
a = n
b = 0
 
score = 0
 
for i in range(1, (n + 1) + 1): #
    if not(a > lim1) and not(b > lim2):
        score += 1
        print("{} + {} = {}" .format(a, b, n))
    a -= 1
    b += 1
print(score)
Вопрос: Исходя из чего человек вывел такую щикарную формулу?
Приветствуются замечания к моему коду и советы по улучшению красоты и производительности, например упрёки в мою сторону из-за иррационального использования переменных, следовательно памяти
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.10.2019, 00:01
Ответы с готовыми решениями:

Задачка про треугольники и точки
Доброго времени суток. Необходимо написать программу, суть такова: дано N треугольников...

Задачка по программированию про забор
Может кто сталкивался с задачей про &quot;забор&quot;. Есть проекция участка на плоскость в виде...

Задачка про игру на шахматной доске
Двух королей ставят на некое шахматное поле, некоторые клетки которого являются недостижимыми. ...

Старая весёлая задачка про апельсин и земной шар
Помните старую весёлую задачку: Есть два обруча, один опоясывает апельсин, другой - землю. Оба...

Старая книжка про .Net
Здравствуйте! Нашёл дома старую книжку &quot;Программирование на C++/C# в Visual Studio 2003&quot; В....

1
Shamil1
Модератор
2341 / 1628 / 365
Регистрация: 26.03.2015
Сообщений: 5,936
13.10.2019, 01:29 2
Если a <=n и b <= n, то количество пирожных первого вида может быть от (n - b) до a. Всего a - (n - b) + 1 вариантов. "Лишние" (свыше n) пирожные не могут быть использованы и не влияют на результат.
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
13.10.2019, 01:29

Старая красивая задача про радиоактивные шары
Есть 15 одинаковых по виду шаров, среди которые 2 радиоактивных. И есть прибор, в который можно...

Про локальный принтер с разными операционными системами, одна старая, другая новая
принтер установлен на винде 97-98 компа 1,в свойствах этого принтера сделала общий доступ, имя...

Чаепитие с двумерным символьным вектором
Компилятор не ругается, но всё же не выводит на экран то, что получилось (предполагается, что он...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.