М
Молодежь
К
Компьютеры-и-электроника
Д
Дом-и-сад
С
Стиль-и-уход-за-собой
П
Праздники-и-традиции
Т
Транспорт
П
Путешествия
С
Семейная-жизнь
Ф
Философия-и-религия
Б
Без категории
М
Мир-работы
Х
Хобби-и-рукоделие
И
Искусство-и-развлечения
В
Взаимоотношения
З
Здоровье
К
Кулинария-и-гостеприимство
Ф
Финансы-и-бизнес
П
Питомцы-и-животные
О
Образование
О
Образование-и-коммуникации
alfard
alfard
10.11.2022 21:01 •  Информатика

И снова я))) Условие: Механический попугай Лёшенька готовит бургеры по рецепту тёти Нюры: две булочки и котлета между ними. Перед ним в ряд лежат n булочек:
◎ ◎ ◎ ◎ ◎ ◎ ◎ ◎ ◎ ◎ ◎ ◎ ◎
На некоторые булочки Лёшенька кладёт котлеты. На каждую булочку справа от такой тётя Нюра кладёт салат и ложку соуса, чтобы потом соединить два в одно. В итоге у них получается k бургеров. Число «пустых» булочек между каждыми двумя заготовками для бургеров одинаковое. Оно равно числу «пустых» булочек слева и справа, как на схеме (для n=13, k=2):
◎ ◎ ◎ ◉ ◉ ◎ ◎ ◎ ◉ ◉ ◎ ◎ ◎
Дано n (количество булочек) и k (количество бургеров). Выведи количество булочек между каждыми двумя бургерами.
Мое решение:
n=int(input())
k=int(input())
x=n-k*2
m=x//2
while (x % m!=0):
m=m-1
print(m)
Подскажите, что подправить. Буду очень благодарен)

👇
Ответ:
Glados1
Glados1
10.11.2022
Привет! Давай посмотрим на твоё решение и улучшим его.

В начале ты правильно вводишь значения для переменных "n" и "k" с помощью функции input(). Это отличный первый шаг.

Далее у тебя есть переменная "x", которая равна разнице между общим количеством булочек и двойным количеством булочек, необходимых для каждого бургера. Таким образом, "x" представляет собой количество "пустых" булочек - это тоже правильно.

Однако, целью задачи является определить количество "пустых" булочек между каждыми двумя бургерами, а не общее количество "пустых" булочек. Поэтому имя переменной "x" может быть малоинформативным.

Чтобы найти количество "пустых" булочек между каждыми двумя бургерами, нам нужно поделить общее количество "пустых" булочек на количество бургеров минус один. Предлагаю назвать эту переменную "empty_buns_between_burgers". Мы получим следующее:

empty_buns_between_burgers = x // (k-1)

Далее, ты использовал цикл while для поиска искомого значения. Хотя это может работать, у нас есть более простой и эффективный способ.

Мы знаем, что количество "пустых" булочек между каждыми двумя бургерами должно быть целочисленным значением. Поэтому изменим наше решение, чтобы найти наибольшее целое число, которое делит "x" без остатка.

empty_buns_between_burgers = x // (k-1)

Получается, что при вводе значения 13 для "n" и значения 2 для "k", мы получаем:

x = 13 - 2*2 = 13 - 4 = 9
empty_buns_between_burgers = 9 // (2-1) = 9

Таким образом, число "пустых" булочек между каждыми двумя бургерами равно 9.

Наконец, заменим функцию print() в конце программы, чтобы вывести значение переменной "empty_buns_between_burgers":

print(empty_buns_between_burgers)

Вот конечный вариант программы:

```python
n = int(input())
k = int(input())
x = n - k*2
empty_buns_between_burgers = x // (k-1)
print(empty_buns_between_burgers)
```

Надеюсь, это помогло! Если у тебя есть еще вопросы, не стесняйся спрашивать. Удачи!
4,4(78 оценок)
Проверить ответ в нейросети
Новые ответы от MOGZ: Информатика
logo
Вход Регистрация
Что ты хочешь узнать?
Спроси Mozg
Открыть лучший ответ